1

UISearchDisplayController在 iOS 8 中已弃用(UISearchDisplayDelegate也已弃用。)所以现在我不能使用下一个委托方法:

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller 
shouldReloadTableForSearchScope:(NSInteger)searchOption

我只能使用UISearchResultsUpdating委托方法:

- (void)updateSearchResultsForSearchController:(UISearchController *)searchController

我的问题是我如何知道 searchScore 何时发生变化以及如果我仅参考UISearchController. 我一直在寻找合适的房产,但没有找到。谢谢。

4

1 回答 1

0

使用 UISearchBarDelegate

首先,确保您的视图控制器实现 UISearchBarDelegate 协议,如:

class ViewController: UITableViewController, UISearchResultsUpdating, UISearchBarDelegate {
//code
}

设置委托:

controller.searchBar.delegate = self

然后实现以下方法:

func searchBar(searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {
    let scopeTitles = searchBar.scopeButtonTitles as [String]
    let scope = scopeTitles[selectedScope]
    println(scope)
}
于 2014-11-13T16:02:15.817 回答