Как включить кнопку, только когда два текстовых поля не пустые - Swift + раскадровка - PullRequest
0 голосов
/ 19 июня 2020

Недавно я пишу свой собственный проект на swift. Я использую раскадровку и создаю два текстовых поля и одну кнопку. Как включить кнопку только тогда, когда два текстовых поля не пусты?

Вот что у меня было

@IBAction func enableNextBtn(_ sender: UITextField) {
    if !sender.text!.isEmpty {
       nextBtn.isEnabled = true
    } else {
       nextBtn.isEnabled = false
    }
}

1 Ответ

0 голосов
/ 19 июня 2020

1 Вам нужен один IBOutlet для каждого TextField:

@IBOutlet var textField1: UITextField!
@IBOutlet var textField2: UITextField! 

2 Не забудьте соответствовать UITextFieldDelegate, как в:

MyViewController: UITextFieldDelegate{}

3 В viewDidLoad установите self как UITextFieldDelegate для ваши текстовые поля:

textField1.delegate = self
textField2.delegate = self

4 реализуйте следующий метод, который вызывается при каждом нажатии клавиши:

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
    nextBtn.isEnabled = !textField1.text?.isEmpty && !textField2.text?.isEmpty
return true
}

Надеюсь, этот подход поможет.

...