码迷,mamicode.com
首页 > 其他好文 > 详细

监测UITextField的变化

时间:2016-06-24 12:23:58      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

监测UITextField的变化可以为UIControlEventEditingChanged事件添加target。

我们有时候会需要用到这个需求:输入框输入文本超过xx长度,不再允许输入其他内容!

UITextField 代理方法本身是无法满足这个需求的。(当然你可以给UITextView添加placeholder实现相同的需求,此处不做介绍。)

示例代码如下:

    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20.f, 100.f, CGRectGetWidth(self.view.frame) - 40.f, 30.f)];
    textField.backgroundColor = [UIColor whiteColor];
    textField.placeholder = @"placeholder_King";
    [self.view addSubview:textField];
    // 添加 UIControlEventEditingChanged  target事件,即可实时监测textField 内容,并做一些操作
    [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldDidChange:(UITextField *)textField {
    // 文本输入长度 > 6 时,不再允许输入其他内容
    NSMutableString *tempStr = [NSMutableString stringWithString:textField.text];
    if (tempStr.length > 6) {
        NSRange range = NSMakeRange(6, 1);
        [tempStr deleteCharactersInRange:range];
    }
    textField.text = tempStr;
}

参考资料:

传送门一(Swift)

传送门二(OC)

监测UITextField的变化

标签:

原文地址:http://www.cnblogs.com/xiu619544553/p/5613519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!