Cocos2d 中如何对文本字段进行固定字符限制?
Nahid
问问题
3712 次
3 回答
5
要修复 UITextField 中的最大字符数,您可以实现 UITextField 委托方法textField:shouldChangeCharactersInRange
以在用户尝试编辑超过固定长度的字符串时返回 false。
//Assume myTextField is a UITextField
myTextField.delegate = self;
//implement this UITextFiledDelegate Protocol method in the same class
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length] > kMaxTextFieldStringLength)
return NO;
else
return YES;
}
于 2009-01-23T07:45:16.120 回答
2
要使用户能够使用退格,您应该使用这样的代码(当您按下退格时 range.length 仅为零):
myTextField.delegate = self;
//implement this UITextFiledDelegate Protocol method in the same class
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.text.length >= 10 && range.length == 0)
return NO;
return YES;
}
于 2009-08-19T06:02:34.390 回答
1
仅当用户在文本字段的末尾(最后一个字符)进行编辑时,上面的示例才有效。要检查输入文本的实际长度(无论用户在哪里编辑光标位置),请使用以下命令:
myTextField.delegate = self;
//implement this UITextFiledDelegate Protocol method in the same class
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (range.location > kMaxTextFieldStringLength)
return NO;
else
return YES;
}
于 2009-07-17T04:37:05.487 回答