iOS開發(fā):檢測UITextField文本框的狀態(tài)

前言

筆者在最近的項目中需要這樣的效果:用戶輸入驗證碼格式正確的時候,button按鈕才能點擊扔字,并且button的背景色由默認的灰色變?yōu)樗{色泼菌,由于筆者的上個項目用到了通知中心檢測文本框的狀態(tài)谍肤,所以就想到了檢測文本框正在編輯時判斷里面的text屬性來達到這個效果。

2016-05-10 12_29_57.gif

具體實現(xiàn)過程

全局登錄button

@property(nonatomic, strong)UIButton * loginButton;//登錄按鈕
self.loginButton = [XSTTools     generateButtonWith:UIButtonTypeCustom frame:CGRectZero title:@"下一步" backgroudImgSel:SET_IMAGE(@"#59c3f5") backgroundImgNor:SET_IMAGE(@"#cccccc") backgroundImgHig:SET_IMAGE(@"44b5ea") fontSize:17.0f target:self select:@selector(goExitClicked:) titleSelColor:nil titleNorColor:SET_COLOR(@"ffffff")];//上面是我自己封裝的創(chuàng)建button的類方法
[self.loginButton repairFillet];//這個方法是個類別不用管
self.loginButton.userInteractionEnabled = NO;//先將交互設為NO
[self.view addSubview:self.loginButton];//添加到當前視圖控制器view上
//這里設置好屬性哗伯,selected的顏色和normal顏色

1.1需要在- (void)viewWillAppear:(BOOL)animated方法添加通知中心
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//添加通知中心
//添加文本框通知中心
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(gosave:) name:UITextFieldTextDidChangeNotification object:nil];
//selector是選擇器荒揣,Observer是觀察者,name是檢測的類型 object填nil就行
//這里檢測的是文本框text值改變的時候焊刹,另外還可以檢測:
UITextFieldTextDidBeginEditingNotification;開始編輯時
UITextFieldTextDidEndEditingNotification;結束編輯時
UITextFieldTextDidChangeNotification;值改變時
}
1.2在當前視圖控制器的.m中實現(xiàn)gosave方法
- (void)gosave:(NSNotification *) Notification{
UITextField * textField = Notification.object;
if (self.phoneTextFld.text.length == 11 && self.codeTextFld.text.length == 4 && [XSTTools judgeWithPhone:self.phoneTextFld.text andWithPwd:nil andWithCode:self.codeTextFld.text andShowView:self.view]) {
//這個if判斷是我自己項目需求寫的系任,你可以根據(jù)自己項目來寫,只需要在滿足條件的時候將button的selected設置為YES不滿足條件設置為NO即可
self.loginButton.selected = YES;
self.loginButton.userInteractionEnabled = YES;
}else{

    self.loginButton.selected = NO;
    self.loginButton.userInteractionEnabled = NO;
}
//這里可以改變loginButton的selected屬性來達到效果虐块,創(chuàng)建loginButton的時候把屬性設置好俩滥,每次你在textField文本中輸入字符并且text發(fā)生改變時都會調(diào)用gosave方法來檢測

}

1.3移除通知中心
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
//移除通知中心
[[NSNotificationCenter defaultCenter] removeObserver:self name:UITextFieldTextDidChangeNotification object:nil];
[self.timer invalidate];

}


擴展

1.當然上面只是一個很小的用法,你可以擴展其他用法贺奠,比如還可以檢測鍵盤的高度來實現(xiàn)對uikit控件的frame上移和下拉霜旧。這個用法主要用在當textField文本框被彈出鍵盤遮擋時。
ps:需要注意的是:
1.1添加通知中心一定要寫在視圖即將顯示的方法-(void)viweWillApper:(animated)里面儡率,不能寫在-(void)viewDidLoad里面挂据。
1.2視圖即將消失的時候將通知中心移除,不然會有內(nèi)存泄露儿普。
因為:viewDidLoad只會在UIViewController的實例化對象push或者present的時候執(zhí)行一次崎逃。所以當我們返回這個視圖的時候通知中心已經(jīng)移除了,就會出錯眉孩。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末个绍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子浪汪,更是在濱河造成了極大的恐慌巴柿,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件死遭,死亡現(xiàn)場離奇詭異篮洁,居然都是意外死亡,警方通過查閱死者的電腦和手機殃姓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓦阐,“玉大人蜗侈,你說我怎么就攤上這事∷” “怎么了踏幻?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長戳杀。 經(jīng)常有香客問我该面,道長夭苗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任隔缀,我火速辦了婚禮题造,結果婚禮上,老公的妹妹穿的比我還像新娘猾瘸。我一直安慰自己界赔,他們只是感情好,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布牵触。 她就那樣靜靜地躺著淮悼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揽思。 梳的紋絲不亂的頭發(fā)上袜腥,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機與錄音钉汗,去河邊找鬼羹令。 笑死,一個胖子當著我的面吹牛儡湾,可吹牛的內(nèi)容都是我干的特恬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼徐钠,長吁一口氣:“原來是場噩夢啊……” “哼癌刽!你這毒婦竟也來了?” 一聲冷哼從身側響起尝丐,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤显拜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后爹袁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體远荠,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年失息,在試婚紗的時候發(fā)現(xiàn)自己被綠了譬淳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡盹兢,死狀恐怖邻梆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绎秒,我是刑警寧澤浦妄,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響剂娄,放射性物質發(fā)生泄漏蠢涝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一阅懦、第九天 我趴在偏房一處隱蔽的房頂上張望和二。 院中可真熱鬧,春花似錦故黑、人聲如沸儿咱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽混埠。三九已至,卻和暖如春诗轻,著一層夾襖步出監(jiān)牢的瞬間钳宪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工扳炬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吏颖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓恨樟,卻偏偏與公主長得像半醉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子劝术,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 聚才國際LP3所向披靡缩多;學員:潘饒平。 職務:CEO养晋、事業(yè)總監(jiān)衬吆、感召總監(jiān)。 總...
    潘饒平閱讀 183評論 0 0
  • 這是子辰繪畫群里今天的素材绳泉,好端端的一個小美女被第一次嘗試人物素描的我畫得很妖艷逊抡,真不好意思。
    Cola貓咪閱讀 574評論 0 2
  • 1零酪、布置學生了解圣誕節(jié)冒嫡,教師搜集圣誕節(jié)的背景音樂和西方過圣誕節(jié)的圖片資料。 2四苇、本課的識字量和寫字量都較大孝凌,可以讓...
    給予樹閱讀 211評論 0 0
  • 西雙版納野象谷地處西雙版納國家級自然保護區(qū)勐養(yǎng)子保護區(qū)、“聯(lián)合國教科文組織人與生物圈保護區(qū)”之內(nèi)蛔琅,距景洪市22公里...
    蔡蔡Tacy閱讀 263評論 0 0