如何使用swift iOS(不使用UITextView)创建多行扩展UTextField或文本输入

ali*_*ego 2 xcode uitextfield ios swift

查看Apple Messages应用程序的行为,似乎他们正在使用UITextField进行文本输入.

占位符的行为与光标出现在占位符文本的开头(基本上覆盖它)是我所基于的假设.我所知道的UITextView没有占位符.

我知道我可以轻松地使用UITextView并添加一个具有不同颜色的占位符,并在用户开始输入时代码占位符消失.但是我想知道是否有任何方法可以编程UITextField,它可以将其框架固定在宽度上并扩展高度包装文本.

小智 12

你无法扩展UITextFiled的高度.

但是你可以使用UITextView来做到这一点,你要做的就是

使用UITextView并将ScrollEnabled设置为false,而不是UITextFiled,为UITextView提供top,bottom,leading和trailing约束.

为UITextView提供高度约束,并将其内容拥抱优先级设置为低.

现在,您的textview将根据插入其中的文本进行扩展.

是的,您必须手动添加和管理占位符逻辑

  • 亲爱的主!就是这样。谢啦!我还必须为包含文本视图的容器视图设置具有低拥抱优先级的高度约束。 (2认同)