2016-04-27 70 views
3

我的问题是如何设置一个事件侦听器来侦听用户是否已经将一个字符输入到UITextView中?Swift UITextView Event Listener

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

+0

这''UITextView的占位符的答案提供了如何使用一个简单的功能例如'UITextViewDelegate' ... http://stackoverflow.com/questions/27652227/text-view-placeholder-swift/28271069#28271069 – clearlight

回答

2

看一看UITextViewDelegate

例如,如果你有

@IBOutlet weak var textView: UITextView!; 

请符合UITextViewDelegate协议在您的视图控制器

class ViewController: UIViewController, UITextViewDelegate { 

// stuff 
} 

在您的viewDidLoad方法中添加

textView.delegate = self; 

然后根据你想要倾听,从你需要的UITextViewDelegate实现方法。

例如,如果你想监听当文本视图改变实现:

func textViewDidEndEditing(textView: UITextView) { 
    // your code here. 
    print(textView.text); 
} 

编辑:反思评论就实现此方法:

func textViewDidChange(textView: UITextView) { 

} 

从苹果公司的文档:

告诉代表文本或属性在指定的文本 视图被用户更改。

+0

这很接近,但我不认为这是完全正确的,我需要完成。我不想听'textViewDidEndEditing()',因为这意味着他们键盘关闭,编辑停止,当我需要在编辑过程中和键盘打开时进行监听。 –

+0

我环顾Apple的文档,发现'textViewDidChange(_ textView:UITextView)'。这可能是我正在寻找的。 –

+0

我已经更新了我的答案。 –