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

标签 ios swift xcode uitextfield

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

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

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

最佳答案

你不能扩展 UITextFiled 的高度。

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

代替 UITextFiled ,使用 UITextView 并将 ScrollEnabled 设置为 false ,为 UITextView 提供顶部、底部、前导和尾随约束。

对 UITextView 进行高度限制,并将其内容拥抱优先级设置为低。

现在您的 TextView 将根据插入其中的文本展开。

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

关于ios - 如何使用 swift iOS(不使用 UITextView)进行多行扩展 UTextField 或文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46904257/

相关文章:

ios - 如何在 iOS 应用程序中使用 'Service account' 实现 Vision API?

ios - 使用动画将 uitableview 单元移动到顶部

ios - 我想检测实时摄像机中的运动/移动。我该怎么做?

XCode - 将目标移动到不同的项目

ios - 将 tableView 装入其父 UIViewController

ios - 我需要一个 api key 来访问新的 freebase 图像吗?

ios - Pixate 如何在代码中动态更改样式? (iOS)

iphone - XCode 和 Archive 有问题..不知道它可能是什么

ios - 内存泄漏: steady increase in memory usage with simple device motion logging

ios - Swift - 如何覆盖具体子类中的扩展方法