我有一个 UITextField
我的用户用来输入标签。我需要能够在一个非常特定的时间 - 阻止我的用户继续输入默认情况下使用 UITextFields 呈现的键盘。但是,我仍然需要允许我的用户点击 iOS 键盘上的退格按钮,以便他们可以尝试输入合适的单词。
一些非常重要的事情要记住:
UITextField
由于字符数量最多,不应该被卡住,因为我正在根据我为标签 我试过设置
textField.enabled = NO
,但再一次,我仍然需要能够使用 textField,我只需要卡住输入并强制用户退格,不允许将 andy 字符添加到 textField
.
最佳答案
你可以试试下面的东西
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range
replacementString: (NSString*) string {
NSString *text = [textField.text stringByReplacingCharactersInRange:range withString: string];
if([text length] > MAX_LENGTH)
return NO;
else
return YES;
}
编辑1:
要调用此委托(delegate)方法,请设置文本字段的委托(delegate)。
在这种情况下,您可以将其用作
yourTextField.delegate = self;
在您的 viewWillAppear/viewDidAppear 中。
关于ios - 如何强制用户停止输入 UITextField 但允许退格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34505583/