Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如果正在编辑文本字段,如何临时禁用所有文本字段中的用户交互?_Ios_Swift_Input - Fatal编程技术网

Ios 如果正在编辑文本字段,如何临时禁用所有文本字段中的用户交互?

Ios 如果正在编辑文本字段,如何临时禁用所有文本字段中的用户交互?,ios,swift,input,Ios,Swift,Input,如果当前正在编辑ViewController上的所有文本字段,是否有方法临时禁用这些字段的交互和输入。键盘或UIPicker清除后,我希望再次启用textField交互 我了解如何禁用我可以使用的触摸交互: textField.isUserInteractionEnabled=false 但是,如果我也有textField2和textField3,当我编辑textfield1时,我如何才能暂时禁用这两个文本字段的用户交互?为所有文本字段创建outlet集合,如 @IBOutlet var tex

如果当前正在编辑ViewController上的所有文本字段,是否有方法临时禁用这些字段的交互和输入。键盘或UIPicker清除后,我希望再次启用textField交互

我了解如何禁用我可以使用的触摸交互:

textField.isUserInteractionEnabled=false


但是,如果我也有
textField2
textField3
,当我编辑
textfield1
时,我如何才能暂时禁用这两个文本字段的用户交互?

为所有文本字段创建outlet集合,如

@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 }
}

你为什么要这么做?理想的情况是处理用户使用
textDidBeginEditing
textdidediting
点击其他文本字段的问题。我得到错误,类型为“UITextField?”的值没有成员“forEach”
textFs
应该是一个数组
textFs:[UITextField]并将IB中的所有文本字段连接到itI。我已经创建了集合,我的集合不包括弱的@IBOutlet var textFs:[UITextField]!目前的问题是什么