【发布时间】:2016-10-26 11:36:44
【问题描述】:
我使用 2 UINavigationcontrollers 和 2 UITableViewControllers 创建了一个搜索。一个用于显示初始结果,另一个TableViewController 用于显示搜索结果。
这是我认为问题发生的地方。我使用此方法显示 resultsTableViewController,我将其设置为顶视图控制器。
现在,当我从结果视图控制器中切换时,UISearchBar 保持在顶部。当我编码[vc.tableView setDelegate: self];.
它消除了搜索栏停留的问题,但随后搞砸了我需要识别的 didselectrowatindex 路径,因为结果与原始结果和 Tableviewcontroller 的结果不同。
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
// Set searchString equal to what's typed into the searchbar
NSString *searchString = self.searchController.searchBar.text;
[self updateFilteredContentForAirlineName:searchString];
// If searchResultsController
if (self.searchController.searchResultsController) {
UINavigationController *navController = (UINavigationController *)self.searchController.searchResultsController;
// Present SearchResultsTableViewController as the topViewController
SearchResultsTableViewController *vc = (SearchResultsTableViewController *)navController.topViewController;
// Update searchResults
vc.searchResults = self.searchResults;
// And reload the tableView with the new data
[vc.tableView reloadData];
}
}
这是我模拟的一个项目,其中包含问题。
http://expirebox.com/download/10533c5d386618b95bb39bd1dc886ace.html
【问题讨论】:
-
您想在进入下一个屏幕时删除搜索栏
-
不要继续使用推送控制器,这样您就可以在下一个屏幕中删除搜索栏
-
ok 等待将发送代码
标签: ios objective-c uitableview uinavigationcontroller uisearchbar