web-dev-qa-db-ja.com

UISearchControllerのキャンセルボタン

私のプロジェクトでは、UITableViewControllerと内部UISearchControllerを使用して、tableViewのデータをフィルタリングしています。

データをフィルター処理するのに問題はありませんが、[〜#〜] cancel [〜#〜]ボタンtableViewをクリックしたときにUISearchControllerの再読み込みの日付を作成する必要がありますが、このためのデリゲートメソッド.。

この問題を解決する方法を理解するのを手伝ってもらえますか?

19
kAiN

UISearchControllersearchBar'sdelegateを設定する必要があります。これを実行すると、デリゲートメソッドsearchBarCancelButtonClicked:の追加が適切に呼び出されます。

self.searchController.searchBar.delegate = self;

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
}
44
Gargoyle

UISearchResultsUpdatingプロトコルを実装すると、activefalseのときにキャンセルがトリガーされることがわかります。

func updateSearchResultsForSearchController(searchController: UISearchController) {
    if !searchController.isActive {
        print("Cancelled")
    }
}
16
samwize