限制输入位数为n
均需要使用UITextFieldDelegate中的方法
1 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { |
上述判断条件是利用了删除键的长度为0,即当输入框输入为n位的时候
- 接收到删除键字符长度为0,n+0=n 不满足判断条件,仍可以改变textField的字符串,使其被删除一位
- 如果是其它字符,n+1>n满足判断条件TextField就不能被改变
下述判断条件,输入为n时,也是用删除键传入的字符串实际为@””,进行是否在最后一位可以删除的判断
1 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { |
为什么要对删除键判断
如果不进行判断,可能导致输入满n位却无法删除的现象