Xamarin.iOS の検索バー
UISearchBar は、値の一覧を検索するために使用されます。
これには、次の主な 3 つコンポーネントが含まれています。
- テキストの入力に使用されるフィールド。 ユーザーはこれを利用して検索語句を入力できます。
- 検索フィールドからテキストを削除するためのクリア ボタン。
- 検索機能を終了するための [キャンセル] ボタン。
検索バーの実装
検索バーを実装するには、まず新しいものをインスタンス化します。
searchBar = new UISearchBar();
その後、それを配置します。 次の例は、ナビゲーション バーまたはテーブルの HeaderView に配置する方法を示しています。
NavigationItem.TitleView = searchBar;
// or
TableView.TableHeaderView = searchBar;
検索バーのプロパティの設定:
searchBar = new UISearchBar(){
Placeholder = "Enter your search Item",
Prompt = "Search Entered here",
ShowsScopeBar = true,
ScopeButtonTitles = new string[]{ "Boston", "London", "SF" },
};
検索ボタンが押されたときに SearchButtonClicked
イベントを発生させます。 これにより、検索ロジックが呼び出されます。
searchBar.SearchButtonClicked += (sender, e) => {
Search ();
};
検索バーと検索結果の表示の管理については、検索コントローラー レシピを参照してください。
Designer での検索バーの使用
Designer には、検索バーを Designer で実装するための 2 つのオプションがあります
- 検索バー
- 検索表示コントローラーを備えた検索バー (非推奨)
[プロパティ] パネルを使用して検索バーのプロパティを設定します
これらのプロパティについて以下に説明します。
テキスト、プレースホルダー、プロンプト – これらのプロパティは、ユーザーが検索バーを使用する方法を提案および指示するために使用されます。 たとえば、アプリにストアの一覧が表示された場合は、プロンプト プロパティを使用して、ユーザーは "市区町村、ストーリー名、または郵便番号を入力" できることを知らせることができます。
検索スタイル – 検索バーを [目立つ] または [最小] に設定できます。 [目立つ] を使用すると、検索バーを除き、画面上の他のすべてに色付けされ、フォーカスが検索バーに描画されます。 最小スタイルの検索バーは、周囲に溶け込みます。
機能 – これらのプロパティを有効にすると、UI 要素のみが表示されます。 この機能は、Search Bar API ドキュメントで詳しく説明されているように、適切なイベントを発生させて実装する必要があります
- 検索結果/ブックマーク ボタンを表示 - 検索バーに検索結果またはブックマーク アイコンが表示されます
- キャンセル ボタンを表示 - ユーザーが検索機能を終了することができます。 これを選択することをお勧めします。
- スコープ バーを表示 – これにより、ユーザーは検索の範囲を制限できます。 たとえば、音楽アプリで検索する場合、ユーザーは Apple Music と Library のどちらで特定の曲やアーティストを検索するかを選択できます。 さまざまなオプションを表示するには、ScopeBarTitles プロパティにタイトルの配列を追加します。
テキストの動作 – これらのオプションは、入力時のユーザー入力の書式設定方法に対応するために使用されます。 [大文字化] では、各単語または文の先頭、あるいはすべての文字が大文字として設定されます。 [修正] と [スペル チェック] では、入力時に単語のスペル候補がユーザーに示されます。
キーボード – 入力に表示されるキーボード スタイルと、キーボードで使用できるキーを制御します。 これには、Number Pad、Phone Pad、Email、URL、その他のオプションが含まれます。
外観 – キーボードの外観スタイルを制御します。暗いテーマまたは明るいテーマになります。
Return キー – 実行されるアクションをより適切に反映するように Return キーのラベルを変更します。 サポートされる値には、Go、Join、Next、Route、Done、Search などがあります。
安全性 – 入力がマスクされているかどうかを識別します (パスワード入力など)。