Я думаю, что tableHeaderView - не лучшее место для размещения панели поиска.
Я обычно использую UISearchDisplayController:
searchController = [[UISearchDisplayController alloc]
initWithSearchBar:theSearchBar contentsController:self];
searchController.delegate = self;
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;
Это довольно просто и дает некоторые функции для поиска (вы должны реализовать их в делегате / источнике данных, в данном случае в вашем контроллере).
Обычно я делаю это с пера, но я думаю, что вам просто нужно назначить его вашему контроллеру представления:
self.searchDisplayController=searchController;
И если он не показывает представление, вы должны добавить представление непосредственно к tableView.
Вы можете посмотреть ссылку или спросить, есть ли у вас проблемы.