我有一个文本字段,最多只能包含一个字符。当焦点在文本字段上时, (1)如果字符数大于1,则文本字段不应启用编辑。 (2)但是我们应该能够删除那一个字符并将其替换为另一个字符。
现在我无法找到一种方法来使我的条件都有效。如果禁用编辑,则删除功能不起作用。如果我启用它,则不满足文本字段长度条件。
答案 0 :(得分:0)
实施委托方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
如果范围具有位置>则返回NO。 0或长度> 1。
答案 1 :(得分:0)
您需要验证文本字段委托的textField:shouldChangeCharactersInRange:replacementString:
方法中的更改:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return [newString length] <= 1;
}