iOS - UITextView、UITextField監聽文本框中內容的變化


UITextField:

[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

- (void) textFieldDidChange:(id) sender {  

   UITextField *_field = (UITextField *)sender;  

   NSLog(@"%@",[_field text]);  

}



UITextView:

實現其delegate方法


- (void)textViewDidChange:(UITextView *)textView
{
    if (textView.markedTextRange == nil) {
        NSLog(@"text:%@", textView.text);
    }
}

想說一點比較有意思的事情是為什么UITextFied和UITextView會有不同呢,查了一下文檔才發現,UITextField是繼承了UIControl的:UIControl : UIView : UIResponder : NSObject 所以delegate方法中就沒有提供這個方法了。而UITextView沒有繼承UIControl:UIScrollView : UIView : UIResponder : NSObject 但蘋果還是很明智地在UITextView的delegate中給提供了方法,哈哈。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM