在我的代码中,这是我设置UISearchController
的方式:
searchResultController = storyboard!.instantiateViewControllerWithIdentifier(DBSearchResultControllerIdentifier) as! DBSearchResultController
searchController = UISearchController(searchResultsController: searchResultController)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchResultController.tableView.tableHeaderView = searchController.searchBar
我采取的一些行动是:
@IBAction func cityButtonTapped(sender: UIButton) {
searchController.active = true
}
但后来我有一个错误:
应用程序试图在自身上呈现模态视图控制器。呈现控制器是
UISearchController: 0x7f9a0c04a6a0
答案 0 :(得分:18)
UISearchController
的苹果文档清楚地说明了以下内容:
active
属性设置为YES会执行默认显示
搜索控制器。searchResultsController
参数设置为nil
以显示
搜索结果与您正在搜索的视图相同。因此看起来您正在使用当前的视图控制器本身作为searchResultsController
,因此当您尝试将active
设置为YES时,它会尝试以模态方式呈现您当前的视图,因此错误。