iOS - 解決tableHeaderView添加searchBar后出現(xiàn)的問題

無語了,遇到這個問題,雖然解決了,但接下來還是得好好找找問題的原因所在~~

問題重現(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)這兩個方法最簡單有效,如果你有其它解決方案,希望能不吝賜教

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容