In viewWillAppear
, I have added UISearchBar
as my headerview of UITableView
. When view loads, I hides UISearchbar
under UINavigationBar
using contentOffSet of UITableView
. When user pull down the tableview the searchbar gets displayed.
After adding headerview I hides it using below code.
self.tableView.contentOffset = CGPointMake(0, 40); //My searhbar height is 40
But at times contentOffSet
is not hiding headerview. What can be the mistake.
This worked for me:
// contentOffset will not change before the main runloop ends without queueing it, for iPad that is
dispatch_async(dispatch_get_main_queue(), ^{
// The search bar is hidden when the view becomes visible the first time
self.tableView.contentOffset = CGPointMake(0, CGRectGetHeight(self.searchBar.bounds));
});
Put it in your -viewDidLoad or -viewWillAppear