Xcode 设置文本字段的最大长度时出现问题

Xcode 设置文本字段的最大长度时出现问题,xcode,uitextfield,boolean,Xcode,Uitextfield,Boolean,我无法设置文本字段内容的最大长度。我采取的过程是在头文件中实现UITextFieldDelegate。然后我定义(并调用)了这个方法: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSUInteger newLength = [textField.text length] + [strin

我无法设置文本字段内容的最大长度。我采取的过程是在头文件中实现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”是我连接到文本字段的出口。每次更改代码时,我都会确保重新连接插座。我有一种感觉,我错过了一件非常简单的事情。抱歉,如果这有点复杂,我有很多东西要学!谢谢。

试试这个:

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

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

嗯,还是不行。我是否应该在接口生成器中以某种方式连接它,而我不知道?或者界面生成器显示这个时可能有问题?这是我尝试过的第三种方法,当我分析它们时,它们都是有意义的,但是它们都不起作用……Put
zipCode.delegate=selfviewDidLoad
方法中的code>。它可能没有连接到IB,但您可以使用上面的行手动连接。很高兴帮助@MxmastaMills!不要忘记通过单击答案左侧的勾选框来接受答案。乐意帮助。Glas你在MxmastaMills上修好了!当我尝试在viewDidLoad中设置其委托时,它不起作用,当我在创建alertbox的UITextField的位置设置委托时,它起作用。嗯,仍然不起作用。我是否应该在接口生成器中以某种方式连接它,而我不知道?或者界面生成器显示这个时可能有问题?这是我尝试过的第三种方法,当我分析它们时,它们都是有意义的,但是它们都不起作用……Put
zipCode.delegate=selfviewDidLoad
方法中的code>。它可能没有连接到IB,但您可以使用上面的行手动连接。很高兴帮助@MxmastaMills!不要忘记通过单击答案左侧的勾选框来接受答案。乐意帮助。Glas你在MxmastaMills上修好了!当我尝试在viewDidLoad中设置其委托时,它不起作用,当我在创建alertbox的UITextField的位置设置委托时,它起作用。