是否有一种方法可以暂时禁用ViewController上所有文本字段的交互和输入(如果当前正在对其进行编辑)。在键盘或UIPicker消失后,我希望再次启用textField交互。
我知道我可以禁用触摸互动:
textField.isUserInteractionEnabled = false
但是如果我同时拥有textField2
和textField3
怎么办,我在编辑textfield1
时如何暂时禁用两个textField的用户交互?
答案 0 :(得分:1)
为所有文本字段创建出口集合
@IBOutlet var textFs:[UITextField]!
然后在viewDidLoad
textFs.forEach { $0.delegate = self }
实施
func textFieldDidBeginEditing(_ textField: UITextField) {
textFs.forEach {
if $0 != textField {
$0.isUserInteractionEnabled = false
}
}
}
func textFieldDidEndEditing(_ textField: UITextField) {
textFs.forEach { $0.isUserInteractionEnabled = true }
}