UITextField

参考的文章:

http://www.jianshu.com/p/26627f2d6cfc

http://www.jianshu.com/p/bc2adbccc148

记录一下UITextField限制输入的内容和输入的长度 避免长度超过限制删除失效相关问题

分这么几步

1.遵守协议

  UITextFieldDelegate

2.设置代理

3.实现代理方法

  - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range   replacementString:(NSString *)string;

 

相关代码如下:

 


static const NSInteger kTextFieldMaxLen = 20;
 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     [self testTextField];
 4 }
 5 
 6 - (void)testTextField{
 7     UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(20, 40, self.view.bounds.size.width - 40, 40)];
 8     textField.backgroundColor = [UIColor grayColor];
 9     [self.view addSubview:textField];
10     textField.delegate = self;
11 }
12 
13 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
14     //过滤非字母
15     if([[string stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]]stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]].length>0){
16         return NO;
17     }
18     //当点击删除的时候在已经输入的内容超过了最大限度的情况下 能够删除
19     if (string.length == 0) {
20         return YES;
21     }
22     
23     if (textField.text.length >= kTextFieldMaxLen) {
24         return NO;
25     }
26     return YES;
27 }

如有错误 敬请指正

如需转载 请注明出处 谢谢

 

 

 

 

我会不定期分享 iOS 相关技术文章
原文地址:https://www.cnblogs.com/ITCoderW/p/7454925.html