iOS - 解决tableHeaderView添加searchBar后出现的问题

无语了,遇到这个问题,虽然解决了,但接下来还是得好好找找问题的原因所在~~

问题重现

未修改前的代码

self.tableView.tableHeaderView = self.searchController.searchBar;

直接将searchBar设置为tableView的tableHeaderView,然后奇葩的现象就出现了,手动下拉刷新看不到刷新控件,待放手后才会出现,具体看图

放大来看,把MJRefreshNormalHeader给挡住了,而且你下拉多大的偏移量,这个多出来的view的高度就有多大

解决方案

方案一

先将searchBar添加到一个view中,再将该view设置为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;
}

目前我只发现这两个方法最简单有效,如果你有其它解决方案,希望能不吝赐教

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏進无尽的文章

编码篇-iOS开发中的奇巧小伎

最近搜集了自己以前的笔记中的一些小知识点,归为这篇文章,都是亲测有效的奇巧小伎,当你使用到时,你会大呼过瘾的。

14110
来自专栏编程微刊

hcharts实现堆叠柱形图

16030
来自专栏ShaoYL

Quartz2D知识点聚合案例

301100
来自专栏技术之路

【swift学习笔记】三.使用xib自定义UITableViewCell

使用xib自定义tableviewCell看一下效果图 ? 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖...

23770
来自专栏移动端开发

Swift 2.0 自定义cell和不同风格的cell

      昨天我们写了使用系统的cell怎样创建tableView,今天我们再细分一下,就是不同风格的cell,我们怎写代码。先自己创建一个cell,继承于U...

20160
来自专栏一“技”之长

iOS使用UIImagePickerController调用系统相机、相册与图库

        UIImagePickerController是系统封装好的一个导航视图控制器,使用其开发者可以十分方便的进行相机相册相关功能的调用。UIIma...

31710
来自专栏iOS开发攻城狮的集散地

iOS UITableView获取特定位置的cell

37980
来自专栏哈雷彗星撞地球

iOS 中获取某个视图的截图

最近在做SDK的截图,想触发类似系统的截屏功能,找了一圈,总结一下靠谱的几种方式。 我写了个UIView 的category,将这几种方式封装和简化了一下。

22430
来自专栏TechBox

iOS开发之UICollectionViewController系列(二) :详解CollectionView各种回调

31640
来自专栏iOS开发攻城狮的集散地

iOS UITableView获取特定位置的cell

13730

扫码关注云+社区

领取腾讯云代金券