私はUITextViewとUITextFieldを持つUIViewControllerを持っています。テキストフィールドとビューの間で最初のレスポンダを切り替える方法
UITextFieldには、ビューのロード時にファーストレスポンダになっ:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
textField.becomeFirstResponder()
}
問題は、私は単純にUITextViewをタップして編集を開始することができないということです。私の推測では、最初にUITextFieldから最初の応答者を辞任する必要があるということです。
編集を終了してtextField.resignFirstResponder()
メソッドを追加するためにUITextFieldDelegateメソッドを試しましたが、そのメソッドは表示されないprintステートメントに基づいてまったくトリガーされていません。ここで
は、そのアプローチの例です:
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
私は最終的にキーボードを退けることはありませんしながら、これら二つのテキストビューを切り替えるしたいと思います。したがって、最初の応答者ステータスは、単に前後に渡されます。しかし、私は本質的に私の火事にタップしてメソッド呼び出しをさせるメソッドを見つけることができないようです。
どのような方法でこの機能を許可するのか知っていますか?
がFYI - 'textFieldShouldEndEditing'のみが呼び出されますので、' textFieldShouldEndEditing'メソッド内 'resignFirstResponder'を呼び出すする理由はありませんテキストフィールドが自ら辞任しようとしているとき最初の応答者として。 – rmaddy