我目前正在学习iOS开发。不幸的是,我注册的课程是基于iOS 7的,似乎没有任何支持。然而,我有Xcode 7,并且在试图在表视图中实现搜索栏时变得非常困难。我一直在寻找有关如何修复“searchDisplayController”的答案。弃用,虽然有信息,但对于Objective-C的新手,我还没有找到解决问题的方法。
我有一个非常基本的TableView应用程序,它只是在TableView中显示一年中的几个月。我已经添加了"搜索栏和搜索显示控制器"到TableView。这是我的代码的第一部分,Xcode告诉我' searchDisplayController'在TableViewController.m':
中弃用- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
if (tableView == self.searchDisplayController.searchResultsTableView) {
return [_filteredResults count];
}
else {
return [_monthsOfTheYear count];
}
}
如果有人能让我知道我需要做什么,或者指向一个可以帮助我理解它的教程,我将非常感激。
谢谢!
答案 0 :(得分:2)
您正在寻找UISearchController
。您可以通过Apple Documentation获取此信息。这是一个good tutorial。您也可以查看此SO post。 this video也会加入你的知识库。
答案 1 :(得分:0)
UISearchController
取代UISearchDisplayController
。 Here is a tutorial重新:如何使用它。
答案 2 :(得分:0)
添加此属性
let searchController = UISearchController(searchResultsController: nil)
并在viewDidLoad
中添加此代码searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
yourTableView.tableHeaderView = searchController.searchBar
yourTableView.contentOffset = CGPoint(x: 0, y: searchController.searchBar.frame.height)
有关详细信息,请查看此tutorial以获取swift和this tutorial