我在UITextField中禁用了用户交互:
textField.isUserInteractionEnabled = false
并且用户仍然可以(至少在模拟器中)跳至该字段并输入数据。要解决此问题,我必须在UITextFieldDelegate中执行以下操作:
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
// This seems really odd.
return isUserInteractionEnabled
}
UITextField中的错误?还是预期的行为? (这是在Xcode 9.4.1下运行的iOS 11.4。)
答案 0 :(得分:2)
尝试设置textField.enabled = false。
这是UIView上UIControl接口的属性。
从UIControl.h注释:如果为否,则忽略触摸事件,并且子类的绘制方式可能不同。