任何人都可以告诉我如何设置在objective-c的文本字段中输入的单词的限制吗?
在我的情况下,我有一个注册表格,在注册表格中,每个用户都必须输入username
,password
,email
和phone no.
,现在我必须限制用户输入最多15个字符的名称。
任何人都能告诉我我该怎么做吗?
答案 0 :(得分:2)
您可以通过以下方式限制UITextField
中的输入数量。
首先,将相关UIViewController
设置为UITextField
yourTextField.delegate = self;
然后将以下代码段添加到UIViewController
。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length]<15) {
return YES;
}
return NO;
}
或者您可以在UITextFieldDelegate
界面中定义UIViewController
协议
@interface YourViewController()<UITextFieldDelegate>
// YourViewController.m
@end
然后在您的课程中实施以下shouldChangeCharactersInRange
任务。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 15) ? NO : YES;
}
答案 1 :(得分:2)
试试这个:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *textFieldText = [textField.text stringByReplacingCharactersInRange:range withString:string];
if ([textFieldText length] > 15)
{
return NO;
}
return YES;
}