亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS中監聽UITextField值改變事件的方法實例

2019-10-21 18:40:48
字體:
來源:轉載
供稿:網友

前言

在實際情況中我們有時候在界面輸入時候需要讓用戶輸入的數據與模型同步,那么可能我們就需要監聽UITextField值改變事件,然后在響應的方法中將新的值同步到模型中。這次我們主要提出三種方案,其中第一種方案是不一定有效的,后兩種方案則是比較可靠的方案。

一、實現UITextFieldDelegate協議。

這種方式實際上是由系統空間回調協議中的方式,并且通過查閱文檔我們可以發現有以下相關接口是相關的。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
- (void)textFieldDidBeginEditing:(UITextField *)textField 
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField 
- (void)textFieldDidEndEditing:(UITextField *)textField

代碼如下:

- (void)textFieldDidEndEditing:(UITextField *)textField{ self.model.text = textField.text;}

然后實踐中我嘗試了實現textFieldDidEndEditing:方法,發現在輸入框獲取焦點,然后輸入結束,失去焦點后這個過程是正常的。但是問題就出在第三步,如果輸入框一直沒失去焦點(放棄第一響應者),那么這個方法將不會調用,也就是說沒法更新模型了。所以說這種方案是不一定有效的。

二、注冊NSNotificationCenter進行監聽。

親測這種方案是可行的。通知中心是一種一對多的模型,觀察者通過向通知中心注冊某個事件,然后當某個事件發生時,觀察者就可以收到通知中心發來的該事件的通知,然后調用指定的方法進行事件處理。并且剛好通知中心就有針對于UITextField值改變的監聽事件,所以我們只需要實現事件注冊和事件處理的方法就好了。

PS:注冊的通知事件記得要移除!?。?/strong>

(1)注冊通知事件。

//這里的object傳如的是對應的textField對象,方便在事件處理函數中獲取該對象進行操作。[[NSNotificationCenter defaultCenter] addObserver:self            selector:@selector(textFieldDidChangeValue:)             name:UITextFieldTextDidChangeNotification            object:_textFiled];

(2)實現監聽處理事件。

//這里可以通過發送object消息獲取注冊時指定的UITextField對象- (void)textFieldDidChangeValue:(NSNotification *)notification{ UITextField *sender = (UITextField *)[notification object]; self.model.text = sender.text;}

(3)別忘了移除注冊的通知。

//一般是在dealloc中實現[[NSNotificationCenter defaultCenter] removeObserver:self];

三、目標-動作機制。

大家應該都清楚繼承自UIControl類的組件都具有動作-目標機制的特性,常見的比如說UIButton,UISwitch,UISlide,UIPageControl這些類型的組件也都有這個特性。感覺這個比通知中心要更來得靈活一點,比如多個UITextField可以響應多個SEL,或者也可以設置為響應同一個SEL,然后只要在SEL判斷一下消息發送者是誰就好了。

iOS,監聽,UITextField

目標-動作機制

[_textView addTarget:self     action:@selector(textFieldDidChangeValue:)  forControlEvents:UIControlEventEditingChanged];- (void)textFieldDidChangeValue:(id)sender{ self.model.text = ((UITextField *)sender).text;}

總結

以上上種方式我個人大部分時間是偏向于使用第三種方案的,即目標-動作機制。通知中心的方法畢竟相當于是多了一個中間層,而且其還要手動注冊和移除相對來說麻煩一點點而已。但是實際情況還得實際分析吧,如果有大批量的UITextField需要更新,并且其指向同一個響應SEL時使用通知中心也是不錯的選擇。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产www精品| 欧美成人午夜视频| 欧美日韩激情视频| 国产成人精品久久久| 黄网站色欧美视频| 欧美成人在线网站| 精品一区二区三区电影| 国产啪精品视频| 国产啪精品视频| 亚洲乱码av中文一区二区| 久久成人精品一区二区三区| 亚洲成人a级网| 亚洲第五色综合网| 日韩精品在线观看视频| 亚洲视频专区在线| 国产在线拍揄自揄视频不卡99| 久久久久国产精品一区| 亚洲黄页视频免费观看| 国产亚洲欧美aaaa| 亚洲视频在线看| 久久久久久久97| 精品成人国产在线观看男人呻吟| 日本久久亚洲电影| 蜜月aⅴ免费一区二区三区| 4k岛国日韩精品**专区| 亚洲a区在线视频| 久久亚洲国产精品成人av秋霞| 国产99久久精品一区二区| 日韩美女视频免费在线观看| 日韩极品精品视频免费观看| 欧美电影免费看| 欧美多人乱p欧美4p久久| 韩国福利视频一区| 日韩一级黄色av| 日韩欧美aaa| 国产美女精彩久久| 日本免费一区二区三区视频观看| 欧美精品免费在线| 欧美一级电影久久| 亚洲欧美三级在线| 国产精品欧美久久久| 亚洲精选中文字幕| 亚洲精品白浆高清久久久久久| 亚洲国产精品国自产拍av秋霞| 亚洲二区在线播放视频| 亚洲国产精品女人久久久| 中文字幕日韩av综合精品| 亚洲国产精品视频在线观看| 最新的欧美黄色| 国产精品678| 国产一区二区精品丝袜| 伊人一区二区三区久久精品| 色多多国产成人永久免费网站| 亚洲男女性事视频| 亚洲天堂视频在线观看| 欧美高清自拍一区| 精品国模在线视频| 成人国内精品久久久久一区| 九九热精品在线| 国产精品亚洲аv天堂网| 91色视频在线导航| 怡红院精品视频| 国模私拍一区二区三区| 日韩精品极品在线观看播放免费视频| 国产成人福利夜色影视| 欧美日韩一区二区免费在线观看| 亚洲国产美女精品久久久久∴| 亚洲美女av电影| 成人黄色在线观看| 久久久久国色av免费观看性色| 国产精品精品视频一区二区三区| 国产精品色视频| 亚洲美女免费精品视频在线观看| 国产精品极品美女粉嫩高清在线| 日韩av综合网站| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲成人久久久| 久久精品国产久精国产思思| 国产日韩在线视频| 国产综合在线看| 久久久成人av| 日韩av免费在线看| 久久在线免费观看视频| 日韩欧美在线视频免费观看| 精品动漫一区二区| 美女国内精品自产拍在线播放| 久久精品国产一区二区电影| www.精品av.com| 欧美午夜视频一区二区| 国产精品美女无圣光视频| 成人性生交xxxxx网站| 欧美丰满少妇xxxxx做受| 在线电影欧美日韩一区二区私密| 中文字幕少妇一区二区三区| 中文字幕精品视频| www.久久草.com| 懂色aⅴ精品一区二区三区蜜月| 久久久久久国产精品久久| 国产精品扒开腿做爽爽爽视频| 欧美黄色三级网站| 欧美激情乱人伦| 97国产真实伦对白精彩视频8| 国产日韩精品在线观看| 深夜成人在线观看| 色婷婷av一区二区三区久久| 国产一区视频在线播放| 最近2019免费中文字幕视频三| 国产精品白嫩美女在线观看| 国产精品高潮呻吟久久av黑人| 亚洲综合日韩中文字幕v在线| 色噜噜国产精品视频一区二区| 亚洲国产天堂网精品网站| 欧美电影在线播放| 久久久99久久精品女同性| 欧美日韩国产综合视频在线观看中文| 69久久夜色精品国产69| 国产精品久久久久77777| 久久久精品在线观看| 欧美激情性做爰免费视频| 久久久av亚洲男天堂| 最近2019中文字幕第三页视频| 亚洲第一视频网| 欧美电影在线观看完整版| 亚洲视频在线观看视频| 国产成人在线一区二区| 国产精选久久久久久| 久久夜色精品国产欧美乱| 色播久久人人爽人人爽人人片视av| 欧美国产高跟鞋裸体秀xxxhd| 亚洲国产精品福利| 欧美国产日韩一区二区在线观看| 国产丝袜精品视频| 青草青草久热精品视频在线观看| 福利视频一区二区| 国产精品欧美日韩久久| 欧美做受高潮1| 亚洲精品免费一区二区三区| 亚洲第一视频在线观看| 欧美日韩精品在线播放| 欧美在线一级va免费观看| 亚洲福利在线看| 992tv成人免费影院| 91精品一区二区| 亚洲国产成人精品电影| 国产手机视频精品| 国产一区二区动漫| 欧美激情18p| 国模视频一区二区| 亚洲精品国产成人| 激情亚洲一区二区三区四区| 91探花福利精品国产自产在线| 国产精品丝袜高跟| 亚洲第一福利视频| 4k岛国日韩精品**专区| 亚洲国产精品国自产拍av秋霞| 欧美日韩亚洲91| 九九视频这里只有精品| 国产精品欧美一区二区三区奶水| 欧美乱大交xxxxx另类电影| 亚洲跨种族黑人xxx| 日本亚洲欧美成人| 成人免费福利在线| 在线播放国产一区中文字幕剧情欧美| 日韩精品免费在线播放|