How to set the character limit limit in three UITextfield
本问题已经有最佳答案,请猛点这里访问。
我有三个Textfield。
1.textField1 = 15个字符
2.textField2 = 50个字符
3.textField3 = 50个字符
程式码片段
if (textField1 .text.length <15 && textField2 .text.length <50 && textField3 .text.length <50) {
1
2
3
4
5
6 return YES;
}else{
return NO;
}
如何设置三个UITextfield的限制。
提前致谢
上面给出的一些答案的问题是:例如,我有一个文本字段,必须设置15个字符的输入限制,然后在输入第15个字符后停止。 但它们不允许删除。 那是删除按钮也不起作用。 由于我面临着同样的问题。 提供解决方案,如下。 最适合我的作品
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if(textField.tag==6) { if ([textField.text length]<=30) { return YES; } else if([@"" isEqualToString:string]) { textField.text=[textField.text substringToIndex:30 ]; } return NO; } else { return YES; } } |
我有一个文本字段,其标记设置为" 6"
并且我已将最大字符限制限制为30;
在每种情况下都可以正常工作。 以相同的方式,您可以为其他文本字段设置标签,并以相同的方式定义它们的限制。
这样尝试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSUInteger length = [textField.text length] + [string length] - range.length; if([textField isEqual:textField1]) { if(length<15) return YES; else return NO; NSLog(@"1"); } else if([textField isEqual:textField2] | [textField isEqual:textField3]) { if(length<50) return YES; else return NO; NSLog(@"2 or 3"); } } |
该委托允许将Uitexfield限制为nbChar:
1 2 3 4 5 6 7 | - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if ([textField.text length] >=nbChar) { textField.text = [textField.text substringToIndex:nbChar]; return NO; } return YES; } |