我想为我的设置一个最大长度,UITexField
但它被插入了UIAlertView
,我试图在这个美丽的网站上找到解决这个问题的正确信息,但什么都没有。
有人可以帮我吗?
我想为我的设置一个最大长度,UITexField
但它被插入了UIAlertView
,我试图在这个美丽的网站上找到解决这个问题的正确信息,但什么都没有。
有人可以帮我吗?
我认为这是 UITextFieldDelegate 方法的更好实现,因为它不会删除用户眼前的文本结尾,它只是阻止用户输入更多文本。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
if (newString.length > MAXLENGTH)
{
return NO;
}
return YES;
}
不要忘记实现UITextFieldDelegate
协议,并将您的控制器设置为文本字段的代表(请参阅 Anoop Vaidya 答案)
您可以通过以下方式访问 alertView 的 textField
UITextField *theTitleTextField = [alertView valueForKey:@"_bodyTextLabel"];
如果您想找到添加的文本字段,请按照Martin RtextFieldAtIndex:
的建议使用。
然后实现UITextFieldDelegate
协议。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length] > MAXLENGTH) {
textField.text = [textField.text substringToIndex:MAXLENGTH-1];
return NO;
}
return YES;
}