開發中很多這種情況,就是頁面中有一些需要填寫的信息,然后有一個按鈕,當頁面中的textFeild 還未填寫完整時,按鈕是不可點擊的狀態,填寫完整后才可以點擊,該怎么實現呢,實現思路:
因為頁面中先填寫哪個textField是不一定的,所以我需要給每個textFeild 添加監聽事件,當編輯狀態改變時,去判斷頁面中所有的textFeild 是否都已經有值,有值則改變按鈕的可點擊狀態
由于項目中可能有很多頁面都會用到判斷的方法,所以我們可以把方法封裝起來,在用到的地方直接調取就行
上代碼(創建一個類,封裝方法):
//判斷是否有值,只要有NO,就為灰色,如果都為yes,那就直到最后一個都為yes時,即為yes+ (void)setButtonStatusBytextFeilds:(NSArray *)textFeildArr button:(UIButton *)button{ for (UITextField *textF in textFeildArr) { if (textF.text.length <= 0) { [button setBackgroundColor:kLineColor]; button.enabled = NO; return; }else{ if ([(UITextField *)textFeildArr[textFeildArr.count - 1] text] > 0) { [button setBackgroundColor:kGreenColor]; button.enabled = YES; } } }}
在用到的地方:
//給每個textFeild 添加監聽self.textFArr = @[_passordF,_surePasswordF]; for (UITextField *textF in _textFArr) { [textF addTarget:self action:@selector(setBtnStatus) forControlEvents:(UIControlEventEditingChanged)]; }
//調取判斷方法- (void)setBtnStatus{ [ShowTool setButtonStatusBytextFeilds:_textFArr button:_registerBtn];}
效果圖:
以上這篇iOS 判斷頁面中的該填項是否填完整,改變按鈕狀態的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答