2012-02-06 15 views
2

UITabBarの下にネストされたコントローラにUITableViewがあります。テキスト領域がタッチされたときにUISearchDisplayControllerがキーボードを表示しない

インタラクションは、これまでのところInterface Builderで作成されていましたが、ビューの切り替えに関してプログラムでは何も行われませんでした。

私はUITableViewのヘッダとしてUISearchDisplayControllerを追加しました。それはうまく表示され、テキスト入力領域をタップすると、キャンセルボタンが表示され、黒いオーバーレイが飛びます。

しかし、キーボードは表示されず、キャンセルボタンをタップするとオーバーレイが飛び出し、キャンセルボタンテキスト入力領域にフォーカスが置かれ、キャレットはそこに点滅し続けますので、再度タップして検索結果を再表示することはできません。タップされるとキャンセルボタンにフォーカスを失うないUISearchBar

  • UISearchDisplayController

    からUISearchBar上のテキストを編集し始めたときに

    1. キーボードが表示されない:

      だから基本的に私は2つの問題を抱えています。

    私は間違っていますか?

  • +0

    haveデリゲートプロパティを設定しましたか? –

    +0

    私はそれをドラッグアンドドロップしました。デリゲートは、IB内に含まれているビューコントローラに割り当てられます。デリゲートが正しくこれらの症状を引き起こさないだろうか? –

    答えて

    1

    私のタブバーを持っていた.xibファイルにはUIWindowが含まれていました。

    これはあらゆる種類の狂気につながり、最終的に私はインターフェースビルダーでこれをやろうとしましたが、UITabBarをコードで構築して2番目のUIWindowを作成しませんでした。

    これにより、問題が解決され、UISearchDisplayControllerが正しく動作しました。

    0

    チェックUISearchBarDelegateでこの方法:

    - (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar; 
    

    が、これはと呼ばれ、ここにキーボード関連の除去を行うなっているかどうかを確認してください。そうでない場合は、UISearchDisplayControllerをもう一度作成してください。 (私は実際にはデフォルトのviewControllerのものを使用しません)。また、デリゲートが正しく設定されていることを確認します。

    +0

    キーボードを隠すつもりはないが、テキスト領域をタップすると表示されない –

    関連する問題