Как программно открыть представление для выбора, нажав на поле UITextField для ввода

#ios #xcode #uiviewcontroller #uitextfield

Вопрос:

Мой вопрос в том, как бы я мог программно открыть новую частичную панель навигации с помощью щелчка по UITextField или UITextView, что позволило бы пользователю сделать выбор и отправить его обратно в вызывающее представление? Смотрите изображение ниже.

Пример

Ответ №1:

Вы можете использовать UITextFieldDelegate.textFieldShouldBeginEditing(_:) для этого, как показано ниже.

 class ViewController: UIViewController, UITextFieldDelegate {
    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        if textField === myTargetTextField {
            // navigate to your screen
            return false // keyboard won't open
        }
        return true // allows to open the keyboard
    }
} 
 

Ибо UITextView есть UITextViewDelegate.textViewShouldBeginEditing(_:) то, что служит той же цели.