UITextFieldDelegate != IBActionbackgroundTap
-
22-09-2019 - |
質問
この質問の範囲は、iPhone 3.1 SDK (アプリはまだシミュレーターで実行されています) です。
セル内に UITextField を持つセルを持つテーブル ビューがあります。テーブル ビューはグループ化されており、2 つのフィールドだけを含む 1 つのセクションがあります。私はIBを使用していないので、backgroundTapは問題外です(少なくとも私が知る限り)。テキストフィールドをクリックするとキーボードが表示されます。隠すのはやはり面倒です。キーボードを非表示にするために UITextFieldDelegate をミックスに取り込みましたが、背景がタップされたときに textFieldShouldEndEditing メソッドが起動しないようです (背景とは、グループ化されたテーブル ビュー セクションの外側をタップしています)。まずはそうすべきでしょうか?
textFieldShouldReturn は問題なく起動し、この時点で辞めることができますが、フォーカスがそのコントロールから離れた場合は辞めるべきではないでしょうか?
どんな助けも大歓迎です-me
解決
通常、フィールドの編集を停止するのは、次の場合のみです。
- キーボードの「完了」またはアクションボタンを押します。
- 別のフィールドの編集を開始する
- ビューを終了する
- 画面上にフォーカスを解除する別のボタンがある
これらのいずれかから、-[textField sinnersFirstResponder] を呼び出してキーボードを閉じ、-textFieldShouldEndEditing を呼び出すことができます。方法。画面の非アクティブな部分をタップするだけでキーボードが閉じられる理由はありません。
所属していません StackOverflow