1

この非常に奇妙なことに気付きました (iOS 5.1、sim およびデバイス):

私はかなり単純な UITableViewController を持っています。軽くカスタマイズされた UITextFields を使用して編集モードになっています。セルをタッチするとファーストレスポンダーになり、キーボードがポップアップします。すべて問題ありません。ファーストレスポンダーを辞任してキーボードを強制的に非表示にするいくつかの異なるコントロール (たとえば、典型的なキーボード ツールバー) があります。通常、これはすべて正常に機能します。

コントロールがタッチされたときにファーストレスポンダーであるビューが画面上にない場合を除きます。コールをトレースして上にスクロールし、フォーカス/カーソルがなくなっていることを確認することで、ファーストレスポンダーを辞任します。でもキーボードは隠れません。実際、その時点から、コントローラーをポップしても、ほとんど発生しません。

コードは引用するのが少し多いです。しかし、私は(ウィンドウから始まるビュー階層を介して)再署名呼び出しの前後の最初の応答者を追跡するところまで行きました。それは私が期待するものです。しかし、いまいましいキーボードはまだそこにあります。

これを前に見た人はいますか?明らかなことはありますか?それとも明らかではありませんか?

更新:簡単な UITextField を作成し、それをビューに追加し、ファーストレスポンダーになって辞任し、ビューから削除するという回避策を見つけました。ハックのようで、他のバージョンでどのように動作するのだろうかと思いますが、正しい方法がない限り...

UITableViewController (またはおそらく UITableView ですが、私にとってはコントローラーの方が疑わしいです) のバグだと思います。

4

0 に答える 0