2015-10-17 110 views
1

我目前正在学习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

如果人们花时间来阅读你的问题,发布反馈是一个好主意。 – Adrian

回答

2

您正在寻找UISearchController。你可以通过Apple Documentation这个。这里有一个good tutorial。你也可以看看这个SO post。并且this video也会添加到您的知识库中。

+0

我已经浏览了所有这些教程和链接,但是我仍然无法理解它。我还需要使用Objective-C对此进行编程,因此Swift视频并没有帮助。我是否需要将“UISearchController”添加到我的头文件中,即在我的代码中,我目前有:“@interface TableViewController:UITableViewController” - 那么我需要在这里添加UISearchController吗? – Seosup

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迅速和this tutorial