设置UITextField不可编辑或可编辑

时间:2015-04-23 11:05:01

标签: ios objective-c uitextfield

我想知道如何禁用UITextField,即出于设计目的,我在UIButton的框架中放置了UITextField

当我点击UITextField中的按钮时,会出现键盘,但我不想显示键盘!

到目前为止,这是我的代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    return textField !=textfiled1;
    return textField !=textfiled2;
}

7 个答案:

答案 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;