web-dev-qa-db-ja.com

UISearchBarでキャンセルボタンをトリガーする方法は?

キャンセルボタンをタップした場合のように、UISearchBarのプログラムでキャンセルボタンをトリガーする方法

UITableViewの上部にUISearchBarがあり、検索後に、誰かが行を選択したときに、UISearchBarのプログラムでキャンセルボタンをトリガーしたいですか?

編集:ユーザーの操作なし。

40
Marckaraujo

検索表示コントローラーを使用するView Controllerの場合は、次を設定できます

self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];

検索インターフェイスを閉じます。

61
Martin R

UISearchBarDelegateを実装する必要があります。完了したら、次を使用します。

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar

キャンセルボタンがタップされたことをデリゲートに通知します。

次に使用します:

[self searchBarCancelButtonClicked:yourSearchBar];
30
rog

新しい ISearchController (2014年にiOS 8で導入された)については、以下を呼び出すことができます。

[self.searchController setActive:FALSE];

または

self.searchController.active = FALSE;

(アニメーションのフラグはありません。常にアニメーションすることがわかりました。)

24
Nick

IOS 8の場合、UISearchControllerが使用されます。プログラムでキャンセルボタンアクションを実現するには、以下を使用します。

[self.searchController setActive:NO]; 
5

Swift 4.2バージョンの場合、次のコードとして記述できます。

searchController?.isActive = false
0
Kosrat D. Ahmad