我的代码工作得很好,可以在 UITextField
上显示选择器对象(在 UITableViewCell
中)通过使用 inputView
UITextField
的目的。这会停止显示键盘,但不会阻止某人直接在字段中输入内容。
公平地说,他们只能粘贴一些内容,但即使如此,如果您不想在字段中添加自定义值,也不应该允许这样做。
有办法关闭文本输入吗?我尝试过:
return NO;
在 textFieldShouldBeginEditing()
委托(delegate)方法,但这仅用于阻止字段操作 - 因此不会出现选择器。
还有其他方法可以防止这种行为吗?
提前致谢。
最佳答案
您可以使用UITextFieldDelegate
方法
-(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
每当尝试更改文本字段中的文本时都会调用此函数。您可以做一个简单的检查,以确保 string
值是您期望的值(来自选择器 View 的值),否则丢弃它。如果string
值是你想要的,则返回YES
,否则返回NO
关于iphone - 使用 inputView 在 iPhone 上显示 UIPicker 时防止直接键入 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139920/