Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UITableView disappears when UISearchController is active and a new tab is selected

Sorry if the title isn't that clear, found it tricky to summarise.

Using Xcode 6 Beta 4, target iOS 8:

I have a UITabBarController and one of its controllers is a UITableViewController (TVC). This TVC has a searchController property which is the new UISearchController which is replacing UISearchDisplayController. Initialising it like so (I would have just added it to my storyboard but the searchController in the object library down in the bottom right is still a UISearchDisplayController - should I file a radar for this?):

self.searchController = [[UISearchController alloc]initWithSearchResultsController:nil];
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchResultsUpdater = self;
self.searchController.delegate = self;
self.searchController.searchBar.frame = CGRectMake(0, 0, 320, 44);
self.tableView.tableHeaderView = self.searchController.searchBar;

Getting to the point, if the searchBar is first responder:

UISearchController is active and I'm about to choose another tab on the tabBar and come back

and then another tab is selected on the tabBar, and then you come back:

tableView has disappeared

I have no idea why this is happening? UISearchController bug perhaps? Or is the documentation not telling me something that I should be doing (it lacks detail at the moment).

like image 823
kylejm Avatar asked Jul 30 '14 09:07

kylejm


1 Answers

I got my UISearchController working with no problems on Xcode 6 beta-5 thanks to this sample project I found on GitHub.

Giving credit where credit is due, I think dempseyatgithub has done a fantastic job of making this available for everyone to use as a reference project. Thanks!

like image 58
fatuhoku Avatar answered Oct 20 '22 17:10

fatuhoku