2016-04-27 69 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

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