麻烦设置文本字段的最大长度

时间:2011-10-06 03:18:52

标签: xcode uitextfield boolean

我在设置文本字段内容的最大长度时遇到问题。我采取的过程是在头文件中实现UITextFieldDelegate。然后我定义(然后调用)这个方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 5) ? NO : YES;
}

这是我在网站上建议的方法。我也试过这个:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger newLength = [zipCode.text length] + [string length] - range.length;
return (newLength > 5) ? NO : YES;
}

“zipCode”是我连接到文本字段的插座。每次我更改代码,我都确保重新连接插座。我觉得这是一件非常简单的事情,我很想念。抱歉,如果这有点令人费解,我还有很多东西需要学习!感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    return (zipCode.text.length + string.length <= 5);
}

然后,在viewDidLoad方法中:

- (void)viewDidLoad {
    zipCode.delegate = self;
    //.....
    [super viewDidLoad];
}