首先附上效果圖介紹:
效果圖.gif
一.項目功能介紹
本篇主要說明的就是當textField 有和沒有文字的時候,按鈕會呈現(xiàn)出不同的效果。不管一個還是多個,當多個的情況下,必須所有的textField都有文字的時候,才可以執(zhí)行下一步,否則就不能繼續(xù)下一步,界面上可以給用戶很好的提示!
二.說明一下Textfield的某個方法的使用介紹
其中這里面的最重要的處理方法如下:
#pragma mark - UITextFieldDelegate
-(void)textFieldDidBeginEditing:(UITextField *)textField {
self.isComeNext =textField.text.length;
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
self.isComeNext =textField.text.length;
}
// 每個文字的輸入后textField是否接收到都需要通過這個方法判斷是否可以接受
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (range.location ==0 &range.length ==1) { // 從1個字母到0個字母(刪除的情況)
self.isComeNext =NO;
return YES;
}else{ // 有字母的情況
if (range.location ==0 & range.length ==0) { // 從0個字母到1個 (添加的情況)
self.isComeNext =YES;
}
self.isComeNext =YES;
return YES;
}
DDLog(@"location = %lu,length = %lu ",range.location,range.length);
return YES;
}
溫馨提示:其中self.isComeNext標記按鈕的不同狀態(tài)去處理!
三.分析不同個數(shù)Textfield的處理,如下:
1.當只有1個 Textfield,只需要判斷如下:
self.isComeNext =textField.text.length
為1種邏輯判斷
2.當只有2個 Textfield,則需要判斷如下:
-(void)settingNextBtnState:(UITextField *)textField {
if (textField ==self.phoneTextFeild) {
if (self.codeTextFeild.text.length) {
self.isComeNext =textField.text.length;
}else {
self.isComeNext =NO;
}
}else {
if (self.phoneTextFeild.text.length) {
self.isComeNext =textField.text.length;
}else {
self.isComeNext =NO;
}
}
}
為4種邏輯判斷
3.那么思考,按照以上的思路,3個呢,4個呢 ,是否需要更多的判斷,所以引入了多個的時候,用tableView去處理!只需要更改model的值,然后判斷model有沒有為空的情況就可以解決textField個數(shù)為2個以上的問題!
四.如何使用我的1個,2個,多個Textfield 的使用步驟
如果您的界面和我的挺像的,您就可以直接拿來用,或者繼承我對應的VC,修改部分參數(shù),實現(xiàn)您的功能!
五.多總結,多思考,才能成長的更快!
自己在平時開發(fā)中多留心,封裝屬于自己的Demo,也可以有更多的框架,樂于分享給大家去使用,去評判,我一直在路上!
有問題,歡迎加QQ:1824496534進行指導,謝謝!
下面附上我的github的地址:https://github.com/zxwIsCode/TextFieldEditeState