我有一个UITextField,但我希望能够控制它何时被聚焦以及什么时候没有聚焦。
为了实现这一点,我需要能够阻止该文本字段上的触摸事件。我知道我可以在它前面放一个按钮并手动执行它,但我想知道是否有任何方法可以禁用元素上的触摸。
非常感谢。
答案 0 :(得分:16)
似乎没有办法用UITextField的属性来阻止触摸。我通过在文本字段上放置UIView来阻止触摸来解决这个问题。我使用属性检查器将UIView设置为“Clear Color”。适用于我的应用程序。
答案 1 :(得分:1)
userInteractionEnabled
属性怎么样?
答案 2 :(得分:1)
编辑时我必须有光标交互,所以在设置isFserRedponder()之前我设置isUserInteractionEnabled = true并且在结束编辑时将其设置为false
@IBAction func editTapped(_ sender: UIButton) {
textField.isUserInteractionEnabled = true
textField.becomeFirstResponder()
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
print(textField.textValue)
textField.isUserInteractionEnabled = false
return true
}