我的nib文件中有多个文本字段。 我想将我的一个文本字段中的输入范围决定为6-16位,我不想更改任何其他文本字段输入。为此,我创建了一个名为tflimit的方法,如下所示。
-(IBAction)tflimit:(id)sender
{
if([textfields1.text length]>=15 )
{
[textfields1 resignFirstResponder];
}
}
使用这种方法我只能输入16位输入。 如何在不更改其他代码的情况下确定文本字段中输入的范围(6-16)。
答案 0 :(得分:2)
您可以在文本字段委托中的textField:shouldChangeCharactersInRange:replacementString:
方法中过滤用户输入:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == textfields1){// Apply logic only to required field
NSString* newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return [newString length] < 16 && [newString length] > 5;
}
return YES;
}
请注意,要正常使用此方法,需要在文本字段中预填充至少5个字符的文本。