用户可以切换到禁用了用户交互的UITextField

时间:2018-09-06 14:34:12

标签: ios uitextfield

我在UITextField中禁用了用户交互:

textField.isUserInteractionEnabled = false

并且用户仍然可以(至少在模拟器中)跳至该字段并输入数据。要解决此问题,我必须在UITextFieldDelegate中执行以下操作:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
    // This seems really odd.
    return isUserInteractionEnabled
}

UITextField中的错误?还是预期的行为? (这是在Xcode 9.4.1下运行的iOS 11.4。)

1 个答案:

答案 0 :(得分:2)

尝试设置textField.enabled = false。

这是UIView上UIControl接口的属性。

从UIControl.h注释:如果为否,则忽略触摸事件,并且子类的绘制方式可能不同。