Swift UITextView事件监听器

Jac*_*son 5 swift

我的问题是,如果用户在UITextView中键入了字符,我将如何设置事件侦听器以进行侦听?

我知道我可以textview.hasText()用来检查它是否有文本,但是即使UITextView中已经有文本,我也需要侦听键入的字符。

Evd*_*afa 7

看看UITextViewDelegate

例如,如果您有

@IBOutlet weak var textView: UITextView!;
Run Code Online (Sandbox Code Playgroud)

确实符合您的视图控制器中的UITextViewDelegate协议

class ViewController: UIViewController, UITextViewDelegate {

// stuff
}
Run Code Online (Sandbox Code Playgroud)

在您的viewDidLoad方法中添加

textView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

然后根据您想听的内容,从所需的UITextViewDelegate中实现方法。

例如,如果您想在文本视图更改时收听,请实施:

func textViewDidEndEditing(textView: UITextView) {
    // your code here.
    print(textView.text);
}
Run Code Online (Sandbox Code Playgroud)

编辑:要反映评论,请执行此方法:

func textViewDidChange(textView: UITextView) {

}
Run Code Online (Sandbox Code Playgroud)

根据Apple的文档:

告诉委托人用户更改了指定文本视图中的文本或属性。