カスタム コントロールの検索結果を表示する必要がありますが、これを構成可能にする最善の方法がわかりません。
基本的に、コントロールは に似ていますUITextField
が、より視覚化されています。ユーザーがフィールドにテキストを入力すると、コントロールが全画面表示になり、検索フィールドが上に表示され、結果が下に表示されます。これは、Apple の Mail.app での住所検索と非常によく似た方法です (添付の図を参照)。
ここでの問題は、iPhone で「全画面表示」が何を意味するかということです。ビューがテーブル ビュー セルから表示される場合、親ビューのフレームは適切ではありません。ナビゲーションバーがある場合は表示したままにしたいので、ウィンドウの境界が機能しません。また、全画面表示は iPad とは異なります。iPadならポップオーバーが使えると思います。
カスタム コントロールを使用するコントローラーが境界 (おそらくデリゲート メソッド) を提供するかどうかを考えていましたが、それはやや面倒です。
どんなアイデアでも大歓迎です。
アップデート:
これまでのところ、これの iPad および iPhone バージョンには、結果表示の独自の特殊化が必要であるという結論に達しました。iPad では、ポップオーバーの実装は非常に簡単です。iPhone では、展開されたコントロール (テキスト フィールドと結果テーブル) の境界を決定する適切な方法がわかりません。
問題を説明するのは難しいですが、実際に必要なのは、コントロールを拡張して境界 (ほとんどの場合、キーボードとナビゲーション バーの間のスペース) を占有することだけです。