Swift 4 – определение только одного текстового поля в качестве делегата для редактированияDidEnd и т.д. ⇐ IOS
-
Гость
Swift 4 – определение только одного текстового поля в качестве делегата для редактированияDidEnd и т.д.
Я оставил этот вопрос свободным от конкретного контекста, потому что уверен, что он будет полезен другим:
У меня есть 2 текстовых поля IB-розетки:
@IBOutlet слабая переменная textField1: UITextField! @IBOutlet слабая переменная textField2: UITextField! Я хочу иметь возможность отключать кнопки на своей странице до тех пор, пока обе не будут правильно заполнены, поэтому я использую следующие делегаты в ViewDidLoad() (я добавил TextFieldDelegate в свой виртуальный виртуальный компьютер.)
переопределить функцию viewDidLoad() { textField1.delegate = сам textField2.delegate = сам } Затем у меня есть несколько функций, которые я буду использовать для проверки формы и выполнения определенных действий, но для простоты, скажем, она просто выводит на консоль.
Я хочу проверять проверку только в textField1, а не в textField2. Т.е. желаемый вывод заключается в том, что это печатается, когда пользователь начинает редактировать textField1, но если пользователь редактирует textField2, ничего не печатается.
Сейчас я использую:
func textFieldDidBeginEditing(_ textField1: UITextField) { print("TextField начал вызов метода редактирования") } Но это печать при редактировании любого текстового поля.
Я думал, что указал _ textField1, поэтому не знаю, почему оба его запускают?
Есть несколько ответов, решающих аналогичные проблемы для Swift 3 и более ранних версий. В частности, в одном ответе упоминалась эта ссылка http://sourcefreeze.com/uitextfield-and ... -in-swift/, которую я нашел полезной, но застрял на этой ошибке.
Я оставил этот вопрос свободным от конкретного контекста, потому что уверен, что он будет полезен другим:
У меня есть 2 текстовых поля IB-розетки:
@IBOutlet слабая переменная textField1: UITextField! @IBOutlet слабая переменная textField2: UITextField! Я хочу иметь возможность отключать кнопки на своей странице до тех пор, пока обе не будут правильно заполнены, поэтому я использую следующие делегаты в ViewDidLoad() (я добавил TextFieldDelegate в свой виртуальный виртуальный компьютер.)
переопределить функцию viewDidLoad() { textField1.delegate = сам textField2.delegate = сам } Затем у меня есть несколько функций, которые я буду использовать для проверки формы и выполнения определенных действий, но для простоты, скажем, она просто выводит на консоль.
Я хочу проверять проверку только в textField1, а не в textField2. Т.е. желаемый вывод заключается в том, что это печатается, когда пользователь начинает редактировать textField1, но если пользователь редактирует textField2, ничего не печатается.
Сейчас я использую:
func textFieldDidBeginEditing(_ textField1: UITextField) { print("TextField начал вызов метода редактирования") } Но это печать при редактировании любого текстового поля.
Я думал, что указал _ textField1, поэтому не знаю, почему оба его запускают?
Есть несколько ответов, решающих аналогичные проблемы для Swift 3 и более ранних версий. В частности, в одном ответе упоминалась эта ссылка http://sourcefreeze.com/uitextfield-and ... -in-swift/, которую я нашел полезной, но застрял на этой ошибке.
Мобильная версия