0

この質問は私の他の質問hereにリンクされていますが、これは私が直面している問題のより焦点を絞った部分です。

5 つのテキスト フィールドがあり、(スクロール) ビューを移動して、キーボードがアクティブ フィールドを非表示にしないようにしたいと考えています。Apple が推奨する標準的なアプローチに従って、keyboardWillShow: テキスト フィールド デリゲート メソッドを実装しました。これは、テキスト フィールドを初めてタップしたときにうまく機能します。

ただし、キーボードの [戻る] ボタンを [次へ] ボタンに置​​き換えました。これを押すと、フォーカスが次のテキスト フィールドにジャンプします。また、プロセス中のキーボードは非表示でも再表示でもないため、keyboardWillShow: メソッドは呼び出されません。これは、コンソールに表示されていないそこに配置した NSLogs からわかります。

[次へ] をクリックしたときにキーボードの高さを強制的に再計算する方法はありますか? 私が理解していることの 1 つは、キーボードの高さを取得するために (ハードコードされた高さを使用したくない)、aNotification を引数として受け取るメソッドで計算を保持する必要があるということです。

アイデアや提案はありますか?

4

1 に答える 1

1

もちろんkeyboardWillShow、あなたが正しく述べたように呼び出されません。

次のテキストフィールドのtextField:didEndEditing、またはそれ以上を使用して、同じロジックを使用してください。textField:shouldBeginEditing

キーボードの高さと位置の問題を解決するには、必要なデータを含む変数を保持し、通常の通知フックを使用して最新の状態に保ちます。

于 2013-04-20T14:39:37.893 に答える