SplitViewアプリケーションでキーボードを隠そうとしています(ルートメニューの一部を覆うため)。しかし、私が見つけることができる唯一のことは、テキストフィールドが[TextField resignFirstResponder]
で使用された後にキーボードを隠す方法です。UIKeyboardを非表示にする
キーボードを隠す方法はありますか?
理想的には、メニューを表示するbarButtonItemをキーボードを非表示にするトリガーとして使用したいと考えています。
SplitViewアプリケーションでキーボードを隠そうとしています(ルートメニューの一部を覆うため)。しかし、私が見つけることができる唯一のことは、テキストフィールドが[TextField resignFirstResponder]
で使用された後にキーボードを隠す方法です。UIKeyboardを非表示にする
キーボードを隠す方法はありますか?
理想的には、メニューを表示するbarButtonItemをキーボードを非表示にするトリガーとして使用したいと考えています。
使用この:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
は現在ファーストレスポンダのステータスを持っているどんなUI要素のインスタンスに-resignFirstResponder
メッセージを送信する必要があります。したがって、クラスにUITextField
のインスタンスに対応するfirstNameTextField
プロパティがある場合は、そのオブジェクトにメッセージを送信する必要があります。
[self.firstNameTextField resignFirstResponder];
それはどんなUI要素と連携していますか? UIBarButtonItemを使用できますか?私の全面的な問題は、それをリンクする特定のテキストフィールドがないことです。 – BloonsTowerDefence
技術的には、 'UIView'のどのインスタンスも' UIResponder'のサブクラスであるため最初のレスポンダになることができますが、 'UITextInput'プロトコルに準拠していればキーボードを呼び出すだけです。 'UIBarButtonItem'を介してキーボードを閉じるには、アクティブなテキストフィールドで' resignFirstResponder'を呼び出すメソッドにそのボタンを接続する必要があります。あなたが盲目的にすべての編集を終了したいだけならば、 'endEditing:'をルートビューに送ることもできます。サブビューを通って、現在サブビューにある最初のレスポンダを辞任します。 –
resignFirstResponder
それを行う方法です。 firstResponderがインスタンス変数(おそらく生成された)として設定されていない状況がある場合は、this answerを使用してfirstResponderを '取得'できます。あなたの最初のレスポンダーオブジェクトを持っていれば、それを辞めるだけです!
これが役に立ちます。
私が探していたものは、完璧に動作します! – BloonsTowerDefence