14

UISearchBar と UISearchDisplayController があります。すべてうまく機能しますが、スコープ セレクターがテキスト フィールドの下ではなく横に表示されます。これは、デバイスが横向きのときに予想されるアクションであることはわかっていますが、UISplitViewController のマスター ビューに UISearchBar があるため、最終的には次のようになります。

UISearchBar の問題

スコープ バーをすべてのインターフェイスの向きでテキスト フィールドの下に強制的に表示する方法はありますか (これは iPad の Mail.app でうまく機能することを知っているので、可能性はありますが、Apple がオプションを非表示にすることを決定したかどうかは誰にもわかりません)。それで)

4

4 に答える 4

3

これはパブリック API の一部ではありません。将来的に追加されることを願っています。これはプライベート API を使用して行うことができます。UIKit クラス ダンプを調べると役立ちます。

幸運を!

編集: プライベート API を使用すると、ほとんどの人が既に知っているように、アプリ ストアから拒否される可能性があることに注意してください。

于 2010-05-19T14:46:06.967 に答える
2

UISearchDisplayDelegate を使用して、スコープ バーの表示と非表示を切り替えました。

-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
{
    [controller.searchBar setShowsScopeBar:YES];
}

-(void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller
{
    [controller.searchBar setShowsScopeBar:NO];
}
于 2012-03-12T16:22:03.160 に答える
1

プライベート API を使用しないでください。代わりに、IOS User Interface Guidelines からの Apple の推奨に従ってください。

検索バーが存在する場合、その近くにスコープ バーが表示されることがあります。スコープ バーは、コードで検索表示コントローラーを使用しない限り、向きに関係なく検索バーの下に表示されます (これが機能する方法の詳細については、UISearchDisplayController クラス リファレンスを参照してください)。検索ディスプレイ コントローラーを使用すると、デバイスが横向きの場合 (縦向きの場合は検索バーの下)、スコープ バーが検索フィールドの右側の検索バー内に表示されます。

これは、ストーリーボードを使用して私にとってはうまくいきました。

于 2013-06-19T01:24:11.477 に答える