我有三个文本字段。
1.textField1 = 15 个字符
2.textField2 = 50 个字符
3.textField3 = 50 个字符
代码片段
if (textField1 .text.length <15 && textField2 .text.length <50 && textField3 .text.length <50) {
return YES; }else{ return NO; }
如何设置三个 UITextfield 的限制。
提前致谢
我有三个文本字段。
1.textField1 = 15 个字符
2.textField2 = 50 个字符
3.textField3 = 50 个字符
代码片段
if (textField1 .text.length <15 && textField2 .text.length <50 && textField3 .text.length <50) {
return YES; }else{ return NO; }
如何设置三个 UITextfield 的限制。
提前致谢
此委托允许将 Uitexfield 限制为 nbChar :
- (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;
}
试试这样
- (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");
}
}
上面给出的一些答案的问题是,例如我有一个文本字段,我必须设置输入 15 个字符的限制,然后在输入第 15 个字符后停止。但他们不允许删除。那就是删除按钮也不起作用。因为我面临同样的问题。提出了解决方案,如下所示。非常适合我
- (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”,并且我限制了 max char limit = 30 ;在每种情况下都可以正常工作。以同样的方式,您可以为其他文本字段设置标签并以同样的方式定义它们的限制。