swift - 如何为 0 行的消息输入创建 TextField?
问题描述
我TextField
为聊天应用程序中的消息输入创建。实际上我连接了我TextField
的操作(editingChanged)。这就是为什么我不能使用TextView
而不是,我无法在代码TextField
中执行任何操作。TextView
如果您知道如何在其中设置 0 行(就像在标签中一样)TextField
并启用滚动。请帮我!
解决方案
UITextView
如果要显示多行,则必须使用。变化不是很大,要处理UITextView
而不是UITextField
. 我会假设你UIViewController
被称为MyViewController
::
class MyViewController: UIViewController, UITextViewDelegate { //1
@IBOutlet weak var textView: UITextView! //2
override func viewDidLoad() {
super.viewDidLoad()
textView.delegate = self //3
}
func textViewDidChange(textView: UITextView) { //4
print(textView.text) //put here your code from textField's action
}
}
- 请记住将
UITextViewDelegate
协议添加到您的视图控制器符合的列表中 - 为 textView 添加 outlet(记得在你的 storyboard/xib 文件中添加它)
- 将当前视图控制器设置为 textView 的委托
- 添加
textViewDidChange
功能 - 使用方式与对 textField 使用操作相同
推荐阅读
- laravel - 带有 nuxt 和 nginx 反向代理的 laravel websocket 返回 502
- amazon-web-services - 如何访问 aws s3 当前存储桶列表内容信息
- javascript - JavaScript - 如何在点击 WordPress 时更改菜单名称?
- python - 如何仅将某些查询应用于具有属性异常的查询
- fipy - 默认的 ConvectionTerm 采用什么不同的方法?
- sql-server - 无法从其他计算机连接到本地 SQL Server 数据库
- python - 无法使用散景图的“desired_num_ticks”。抛出的错误是“‘NoneType’对象没有属性‘desired_num_ticks’”
- go - indexof 的等价物
- flutter - 请为flutter中的插件设置什么约束?
- javascript - 使用 vue-custom-element 和 Vuex 时,子组件中 this.$store 的值未定义