如何让 UITableView 的 headerView跟随 cell一起滚动

本文介绍了如何在UITableView中实现顶部视图(headerView)与单元格(cell)内容同步滚动的方法。通过三种不同方案的实践对比,最终推荐使用设置tableView的tableHeaderView属性来实现这一需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://blog.youkuaiyun.com/tangaowen/article/details/6452314


        在我们利用 UITableView 展示我们的内容的时候,我需要在顶部放一个不同于一般的cell的 界面,这个界面比较独特。



        1。 所以我就把它 作为一个section的 headerView。 
        也就是在函数:
        - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
        里面返回 这个UIView。
        但是,由于这个UIView占的空间很大,基本占用整个屏幕的高度,而滚动tableView的时候,只滚动cell的内容,而这个section的
headerView却不跟着滚动。
        后面,我想出了方法2。
 
       2。  设置 tableView的 style为  UITableViewStyleGrouped,然后让
          - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
       返回1。
        这样确实可以让 headerView ,在滚动tableView的时候,跟随着cell的内容一起滚动。但是,我发现,下面的cell都被加上了边框,
        而且cell的水平显示范围变窄了。
        所以尝试了方法3。


       3。  将UIView设置为  整个tableView的headerView,而不是 section 0的headerView
               self.tableView.tableHeaderView=header;
             这样,就可以完美的满足 headerView跟随cell的内容一起滚动的要求拉。
 
     结论:设置 UIView为  tableView的tableHeaderView即可实现 headerView跟随tableView一起滚动的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值