キャンセルボタンをタップした場合のように、UISearchBarのプログラムでキャンセルボタンをトリガーする方法
UITableViewの上部にUISearchBarがあり、検索後に、誰かが行を選択したときに、UISearchBarのプログラムでキャンセルボタンをトリガーしたいですか?
編集:ユーザーの操作なし。
検索表示コントローラーを使用するView Controllerの場合は、次を設定できます
self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];
検索インターフェイスを閉じます。
UISearchBarDelegate
を実装する必要があります。完了したら、次を使用します。
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
キャンセルボタンがタップされたことをデリゲートに通知します。
次に使用します:
[self searchBarCancelButtonClicked:yourSearchBar];
新しい ISearchController (2014年にiOS 8で導入された)については、以下を呼び出すことができます。
[self.searchController setActive:FALSE];
または
self.searchController.active = FALSE;
(アニメーションのフラグはありません。常にアニメーションすることがわかりました。)
IOS 8の場合、UISearchController
が使用されます。プログラムでキャンセルボタンアクションを実現するには、以下を使用します。
[self.searchController setActive:NO];
Swift 4.2バージョンの場合、次のコードとして記述できます。
searchController?.isActive = false