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

 我来答
huanglenzhi
推荐于2016-06-03 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517187
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  在我们利用 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一起滚动的效果。
  
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式