Как временно отключить взаимодействие пользователя со всеми текстовыми полями, если оно редактируется? - PullRequest
0 голосов
/ 29 апреля 2019

Есть ли способ временно отключить взаимодействие и ввод для всех текстовых полей в ViewController, если они в данный момент редактируются. После того, как клавиатура или UIPicker исчезнут, я бы хотел, чтобы взаимодействие textField было снова включено.

Я понимаю, что для отключения сенсорного взаимодействия я могу использовать:

textField.isUserInteractionEnabled = false

Но что, если у меня также есть textField2 и textField3 как я могу временно отключить взаимодействие с пользователем обоих текстовых полей при редактировании textfield1?

1 Ответ

1 голос
/ 29 апреля 2019

Создать коллекцию розеток для всех текстовых полей, таких как

@IBOutlet var textFs:[UITextField]! 

Затем установите vc в качестве делегата для всех из них в 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 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...