美文网首页iOS开发iOS Developerios实用开发技巧
Textfield 有无文字的处理汇总(1)

Textfield 有无文字的处理汇总(1)

作者: 小白哥有话说 | 来源:发表于2017-03-20 17:28 被阅读82次

首先附上效果图介绍:


效果图.gif

一.项目功能介绍
本篇主要说明的就是当textField 有和没有文字的时候,按钮会呈现出不同的效果。不管一个还是多个,当多个的情况下,必须所有的textField都有文字的时候,才可以执行下一步,否则就不能继续下一步,界面上可以给用户很好的提示!

二.说明一下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标记按钮的不同状态去处理!

三.分析不同个数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个数为2个以上的问题!

四.如何使用我的1个,2个,多个Textfield 的使用步骤

如果您的界面和我的挺像的,您就可以直接拿来用,或者继承我对应的VC,修改部分参数,实现您的功能!

五.多总结,多思考,才能成长的更快!
自己在平时开发中多留心,封装属于自己的Demo,也可以有更多的框架,乐于分享给大家去使用,去评判,我一直在路上!
有问题,欢迎加QQ:1824496534进行指导,谢谢!

下面附上我的github的地址:https://github.com/zxwIsCode/TextFieldEditeState

相关文章

网友评论

    本文标题:Textfield 有无文字的处理汇总(1)

    本文链接:https://www.haomeiwen.com/subject/qjrinttx.html