I have a UITableViewController
, in which I added a UISearchBar as the tableHeaderView
using Interface Builder. Then I added a UISearchDisplayController
in the nib, and set up all the connections (delegate
, searchResultsDelegate
, searchContentsController
, searchResultsDataSource
, all connected to the UITableViewController
).
I then implemented all the delegate and data source methods in my code.
It works like a charm, except for a weird bug: sometimes the search results table view won't scroll, and I can see the flash indicator of the main table view behind it. I NSLog'd the searchResultsTableView
and apparently it's a subview of the main tableview, and I guess that's the reason behind the touch problems I described earlier.
What's my mistake? Is it possible to use a UITableViewController
with UISearchDisplayController
at all? If so, how do I set up it in such a way that the results table view doesn't get added as a subview of my main table view?
Update: I found this sample which uses UISearchDisplayController
with UITableViewController
and apparently the search table view gets added to the main table view in there as well. So now I don't think that's my problem.
The thing is that I can't find any substantial difference between what I'm doing and what that sample is doing. I'm just adding an UISearchBar
as a UITableView
header in a UITableViewController
and adding a UISearchDisplayController
to it... It's like iOS is confused between the main table and the search table when I try to scroll. Do you have any ideas?
Update: Added a 200 rep bounty. Please answer only if you know what you're talking about.
It was an extra self.tableView.scrollEnabled = YES
which was called as soon as the search data request was finished. Hope it helps anyone with the same problem in the future.