無語了,遇到這個問題,雖然解決了,但接下來還是得好好找找問題的原因所在~~
問題重現(xiàn)
未修改前的代碼
self.tableView.tableHeaderView = self.searchController.searchBar;
直接將searchBar設(shè)置為tableView的tableHeaderView,然后奇葩的現(xiàn)象就出現(xiàn)了,手動下拉刷新看不到刷新控件,待放手后才會出現(xiàn),具體看圖

放大來看,把MJRefreshNormalHeader給擋住了,而且你下拉多大的偏移量,這個多出來的view的高度就有多大

解決方案
方案一
先將searchBar添加到一個view中,再將該view設(shè)置為tableView的tableHeaderView
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KSCREEN_WIDTH, 45)];
[view addSubview:self.searchController.searchBar];
// 添加 searchbar 到 headerview
self.tableView.tableHeaderView = view
方案二
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
return self.searchController.searchBar;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 45;
}
目前我只發(fā)現(xiàn)這兩個方法最簡單有效,如果你有其它解決方案,希望能不吝賜教