Очистка и восстановление заполнителя в UITextField - PullRequest
0 голосов
/ 03 мая 2019

У меня addTarget настроен на UITextField, который очищает текст заполнителя при editingDidBegin. Но я не знаю, как восстановить заполнитель текста, если пользователь нажимает на другой UITextField, или поле остается пустым.

Это находится в viewDidLoad()

 firstInitialTextField.addTarget(self, action: #selector(clearPlaceholderInTextField), for: UIControl.Event.editingDidBegin)

Эта функция находится в основном тексте программы.

 @objc func clearPlaceholderInTextField() {

        firstInitialTextField.placeholder = ""

    }

У меня есть несколько полей, к которым я хотел бы применить эту функцию.

1 Ответ

0 голосов
/ 03 мая 2019

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

@IBOutlet var textFs:[UITextField]! 

с разными тегами для каждого и массивом placeHolders, которые вы установили в viewDidLoad

var placeholders = [String]()

Затем установите vc в качестве делегата для всех из них в viewDidLoad

textFs.forEach { $0.delegate = self }

Реализовать

func textFieldDidBeginEditing(_ textField: UITextField) { 
   textField.placeholder =  ""
}

func textFieldDidEndEditing(_ textField: UITextField) {
   textField.placeholder =  placeholders[textField.tag]
}
...