今天试了下怎么限制UITextField输入时的字符
用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
发现超过界限后按回删减用不了
用下面这个方法就可以,并给textField添加方法
[txName addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (void)textFieldDidChange:(UITextField *)textField
{
if (textField == txName) {
UITextRange *selectedRange = [textField markedTextRange];
NSLog(@"selectedRange%@",selectedRange);
if (selectedRange==nil) {
NSLog(@"selectedRange == nil%@",selectedRange);
if ([textField.text length]>20) {
textField.text = [textField.text substringToIndex:20];
}
}
}
}
此方法解决了输入中文是可以持续输入中文的问题