今天試了下怎麼限制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];
}
}
}
}
此方法解決了輸入中文是可以持續輸入中文的問題