美文网首页
UITextField动态监听输入内容的变换

UITextField动态监听输入内容的变换

作者: 90后的晨仔 | 来源:发表于2016-11-19 00:01 被阅读109次
       做项目的时候遇到这样一个小问题,因为需求的缘故我需要动态监听UITextField输入内容的变化,可是在使用苹果官方提供的API发现是可以监听内容的变化,可是不是太准确于是就在网上搜了半天找到了解决方法,在这里和大家分享一下吧!

   

问题描述:

         使用下边方法动态监听UITextField输入内容的变化不准确。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    NSLog(@"%@",textField.text);
    return YES;
}

解决方案:

         直接添加一个事件,不过需要注意控件事件需要填写:UIControlEventEditingChanged否则无效。
 UITextField *testField =[[UITextField  alloc]init];
[testField addTarget:self action:@selector(testFieldChangeEvent:) forControlEvents:UIControlEventEditingChanged];

-(void)testFieldChangeEvent:( UITextField*)textField{
    NSLog(@"sender->:%@",textField.text);
}

UITextField小知识点

#限制输入UITextField输入内容的长度
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    NSInteger kMaxLength = 5;//限制的长度
    NSInteger strLength = textField.text.length - range.length + string.length;

    return (strLength <= kMaxLength );

相关文章

网友评论

      本文标题:UITextField动态监听输入内容的变换

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