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

UITableView 的 headerView一般是随着tableView的滚动悬浮在cell上的,但是有时候我们并不希望它是悬浮的状态,那么就要让headerView能够跟随cell一起滚动。之前只有自己用用,并没有做过总结,昨天有朋友问该怎么解决我就搜索了一下这个问题,发现解决方案并不止一种,对于section只有一个的情况,我个人一直用的是方案3,也比较推荐这个方法,很简单。在我的代码中,我初始化了一个自定义的headerImageView,通过代码

myTable.tableHeaderView =headerImageView;

将我的 headerImageView给了tableview的headerView,这样就成功达到了想要的效果。

在这里进行总结备忘,方便以后查阅,也希望对用到此文的人有所帮助。

解决方案1:(适用于多个section的情况)

//去掉UITableView headerView黏性  要将tableview的style设置为UITableViewStyleGrouped

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {  if (scrollView == self.myTableView)  {  CGFloat sectionHeaderHeight = YOUR_HEIGHT;  if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {  scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);  } else if (scrollView.contentOffset.y>=sectionHeaderHeight) {  scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);  }  }
}

[原帖地址:http://www.cocoachina.com/bbs/read.php?tid-86162-page-1.html]

解决方案2:

设置 tableView的 style为  UITableViewStyleGrouped,然后

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}

这样确实可以让 headerView ,在滚动tableView的时候,跟随着cell的内容一起滚动。但是,下面的cell都被加上了边框 而且cell的水平显示范围变窄了。

解决方案3(!!!!推荐):

将UIView设置为  整个tableView的headerView,而不是 section 0的headerView

  self.tableView.tableHeaderView=header;

这样,就可以完美的满足 headerView跟随cell的内容一起滚动的要求。

[原帖地址:http://blog.csdn.net/tangaowen/article/details/6452314]

解决footerView黏性的问题待整理

让tableView的每个section的headerview随tableview一起滚动相关推荐

  1. 【代码笔记】iOS-点击城市中的tableView跳转到旅游景点的tableView,下面会有“显示”更多。...

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h>@interface RootViewController ...

  2. tableView的plain样式的headerView的上拉过程中悬停解决方法

    tableView的plain样式的headerView的上拉过程中悬停解决方法 参考文章: (1)tableView的plain样式的headerView的上拉过程中悬停解决方法 (2)https: ...

  3. Swift 教程之TableView使用05 section的打开与关闭

    Swift 教程之TableView使用04section的打开与关闭 请点击,免费订阅<学Swift挣美元>专栏 之前系列课程 Swift 教程之TableView使用01基础代码 Sw ...

  4. 如果去掉UITableView上的section的headerView和footerView的悬浮效果

    项目需要cell的间距,又不需要悬浮效果,百度之后找到这个方法,记录一下,备忘. 用UIScrollView的代理方法实现 - (void)scrollViewDidScroll:(UIScrollV ...

  5. [iOS] tableView中实现底部button出现时tableView的bottom自动向上偏移

    这是我在工程中遇到的一个需求:选择照片之后,按bottomButton进行发送. 具体场景:照片存放在tableviewcontroller中,当选择照片之后,自动弹出bottomButton,点击之 ...

  6. pyqt tableview大数据自动退出_JAVAFX之tableview界面实时刷新导致的内存溢出(自己挖的坑,爬着也要出来啊0.0)...

    Linux编程点击右侧关注,免费入门到精通! 黑客技术点击右侧关注,了解黑客的世界! 作者丨队长给我球. https://www.cnblogs.com/JJJ1990/p/9111199.html ...

  7. iOS程序员必须知道的Android要点

     http://www.open-open.com/lib/view/open1399509690915.html 在移动应用飞速发展的今天,APP只针对IOS平台进行开发已经不够了,如今Andr ...

  8. iOS 开发者的 Android 第一课

    随着移动软件工业的发展,一个移动产品只局限于 iOS 系统变得越来越不切实际. Android 目前占有近 80% 的智能手机份额[^1],它能给一个产品带来的潜在用户量实在不能再被忽略了. 在本文中 ...

  9. 朋友圈评论回复的两种实现方式

    关于微信朋友圈的实现思路有很多种,各有不同.我这里用两种方式实现,这两种方式的demo都可以在我的github下载:https://github.com/zhengwenming/WeChat,目前已 ...

最新文章

  1. Java_基础_01_static和final
  2. linux目录名含义
  3. android中字符串转换成整型
  4. hbase shell 查看列名_hbase shell 常用命令
  5. (一)FlexViewer之整体框架解析
  6. 负margin几种用法的总结
  7. Vue 自定义指令上报 Google Analytics 事件统计
  8. Ngnix中的fastcgi参数性能优化和解释
  9. 推荐一款UI非常Good的 Redis 客户端工具
  10. Python语言程序设计 测验6: 组合数据类型 (第3周)
  11. RabbitMQ使用例子
  12. 利用Matplotlib绘制各类图表
  13. 如何解决HEVC编码格式不能播放的问题?
  14. 面试专题:QTrade(苹果树)面试复盘
  15. NV21 to NV12(YUV420SP)
  16. window.open 全屏展示
  17. SpringBoot应用环境分析StandardEnvironment
  18. U盘内容被病毒隐藏的解决办法(亲测可用)
  19. ASP.NET发送手机短信验证码
  20. App开发中适用的短信SDK

热门文章

  1. Windows 11 电脑如何设置自动开机 (Windows 11 2022H2)
  2. JetBrains全家桶(IDEA、Pycharm等各个产品)在国内高速下载地址
  3. Splay(splay模板)
  4. Web前端开发常用的开发工具
  5. STM32内存结构总结
  6. 显示系统信息(System Info)
  7. 小技巧:systeminfo查看系统信息
  8. 经纬财富:乌海黄金白银暂缓跌势
  9. c语言编程中负1什么意思,C语言中的if(1)是什么意思啊
  10. Eclipse 使用与配置