美文网首页
让textField.text与输入的信息保持同步

让textField.text与输入的信息保持同步

作者: 陈_振 | 来源:发表于2018-05-04 12:31 被阅读0次

遇到的问题

当使用UITextField控件时发现,通过UITextField的代理方法- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;获取textField.text中的信息与输入框输入的信息不同步,即textField.text显示的信息是上次用户输入的内容。

解决方法

直接上代码


- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string {
    NSString *textFieldText = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if ([textFieldText isEqualToString:self.textFieldString]) {
        [self.finishButton setEnabled:NO];
        [self.finishButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
    } else {
        [self.finishButton setEnabled:YES];
        [self.finishButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    }

    return YES;
}

通过该处理,可以同步获取用户在输入框输入的信息,便于更好的做一些判断处理。

项目中应用

个人信息页,修改个人信息时,如果用户没有修改信息,或修改后的信息与之前信息一致时,就没必要向服务器发起修改请求,此时可以禁用提交修改信息的button。因此要用上面的方法做一些处理。

效果图:

demo.gif

相关文章

网友评论

      本文标题:让textField.text与输入的信息保持同步

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