swift - 如何创建0行消息输入的TextField?

标签 swift xcode uitextfield uitextview textfield

我创建了 TextField 用于聊天应用程序中的消息输入。实际上,我将我的 TextField 连接为操作(editingChanged)。这就是为什么我不能使用 TextView 而不是 TextField,我无法在代码中使用 TextView 执行任何操作。如果您知道如何在 TextField 中设置 0 行(就像在标签中一样)并启用滚动。请帮助我!

最佳答案

如果你想显示多行,你必须使用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
    }

}
  1. 请记住添加 UITextViewDelegate 协议(protocol)以列出您的 View Controller 符合的
  2. 为textView添加outlet(记得将其添加到storyboard/xib文件中)
  3. 将当前 View Controller 设置为textView的委托(delegate)
  4. 添加 textViewDidChange 函数 - 使用方式与使用 textField 的操作相同

关于swift - 如何创建0行消息输入的TextField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53711674/

相关文章:

ios - 即使我重新安装应用程序,Firebase 也会让我保持登录状态

ios - 可转换对象上的 CoreData NSPredicate 导致 EXC_BAD_ACCESS

快速返回值

swift - 如何查找 UIView 在代码中创建的位置 - swift - 以编程方式

ios - 如何不允许用户在 uitextfield 中输入超过 190 的值?

xcode - 根据里面的信息扩展ScrollView并保存?

swift - SwiftUI-UITextField中的状态更改导致frameWidth不受控制地增长,并且忽略了边界/框架

ios - 按下 UINavigationController 的后退栏按钮时执行操作

xcode - 在下载的应用程序上构建时,可以从iTunes Connect获取崩溃日志吗?

ios - UIView autoresizingMask 用于固定左右边距和灵活宽度