Xamarin.iOS の検索バー

UISearchBar は、値の一覧を検索するために使用されます。

これには、次の主な 3 つコンポーネントが含まれています。

  • テキストの入力に使用されるフィールド。 ユーザーはこれを利用して検索語句を入力できます。
  • 検索フィールドからテキストを削除するためのクリア ボタン。
  • 検索機能を終了するための [キャンセル] ボタン。

Search bar

検索バーを実装するには、まず新しいものをインスタンス化します。

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" },
            };

Search Bar properties

検索ボタンが押されたときに SearchButtonClicked イベントを発生させます。 これにより、検索ロジックが呼び出されます。

searchBar.SearchButtonClicked += (sender, e) => {
                Search ();
            };

検索バーと検索結果の表示の管理については、検索コントローラー レシピを参照してください。

Designer での検索バーの使用

Designer には、検索バーを Designer で実装するための 2 つのオプションがあります

  • 検索バー
  • 検索表示コントローラーを備えた検索バー (非推奨)

Search bar controls in designer

[プロパティ] パネルを使用して検索バーのプロパティを設定します

Search bar properties designer

これらのプロパティについて以下に説明します。

  • テキスト、プレースホルダー、プロンプト – これらのプロパティは、ユーザーが検索バーを使用する方法を提案および指示するために使用されます。 たとえば、アプリにストアの一覧が表示された場合は、プロンプト プロパティを使用して、ユーザーは "市区町村、ストーリー名、または郵便番号を入力" できることを知らせることができます。

  • 検索スタイル – 検索バーを [目立つ] または [最小] に設定できます。 [目立つ] を使用すると、検索バーを除き、画面上の他のすべてに色付けされ、フォーカスが検索バーに描画されます。 最小スタイルの検索バーは、周囲に溶け込みます。

  • 機能 – これらのプロパティを有効にすると、UI 要素のみが表示されます。 この機能は、Search Bar API ドキュメントで詳しく説明されているように、適切なイベントを発生させて実装する必要があります

    • 検索結果/ブックマーク ボタンを表示 - 検索バーに検索結果またはブックマーク アイコンが表示されます
    • キャンセル ボタンを表示 - ユーザーが検索機能を終了することができます。 これを選択することをお勧めします。
    • スコープ バーを表示 – これにより、ユーザーは検索の範囲を制限できます。 たとえば、音楽アプリで検索する場合、ユーザーは Apple Music と Library のどちらで特定の曲やアーティストを検索するかを選択できます。 さまざまなオプションを表示するには、ScopeBarTitles プロパティにタイトルの配列を追加します。 Search bar scope titles
  • テキストの動作 – これらのオプションは、入力時のユーザー入力の書式設定方法に対応するために使用されます。 [大文字化] では、各単語または文の先頭、あるいはすべての文字が大文字として設定されます。 [修正] と [スペル チェック] では、入力時に単語のスペル候補がユーザーに示されます。

  • キーボード – 入力に表示されるキーボード スタイルと、キーボードで使用できるキーを制御します。 これには、Number Pad、Phone Pad、Email、URL、その他のオプションが含まれます。

  • 外観 – キーボードの外観スタイルを制御します。暗いテーマまたは明るいテーマになります。

  • Return キー – 実行されるアクションをより適切に反映するように Return キーのラベルを変更します。 サポートされる値には、Go、Join、Next、Route、Done、Search などがあります。

  • 安全性 – 入力がマスクされているかどうかを識別します (パスワード入力など)。