我想知道如何禁用UITextField
,即出于设计目的,我在UIButton
的框架中放置了UITextField
。
当我点击UITextField
中的按钮时,会出现键盘,但我不想显示键盘!
到目前为止,这是我的代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
return textField !=textfiled1;
return textField !=textfiled2;
}
答案 0 :(得分:9)
您可以使用以下属性在文本字段上启用或禁用用户互动:
textField.userInteractionEnabled = NO;
答案 1 :(得分:2)
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return NO;
}
您也可以使用
答案 2 :(得分:0)
我认为您的UIButton
不在UITextField
上。所以bringToFromView
首先调用您的UIButton
选择器方法。因为编译器在层次结构中检查Event
。如果第一个控件响应该事件,则它不会寻找下一个。
我已经测试了你的场景,并且我的工作正常。
答案 3 :(得分:0)
Swift 4中的答案:
textField.isUserInteractionEnabled = false
答案 4 :(得分:0)
我的Obj-C答案的快速版本
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return false
}
答案 5 :(得分:-1)
你可以通过以下方式实现这一目标:
如果要禁用编辑,可以执行此操作
textField.editable = NO;
如果你想让它再次可编辑,你可以这样做
textField.editable = YES;
答案 6 :(得分:-1)
使用以下属性。
textField.userInteractionEnabled = NO;