开发者社区> 问答> 正文

如何固定UITableView的viewForHeaderInSection

对于UITableView,我们可以通过代理方法:

  • (UIView )tableView:(UITableView )tableView viewForHeaderInSection:(NSInteger)section
    来为其某一个section添加一个header view。而当你向上滑动tableview时,会发现这个header view到了屏幕的顶部之后就不走了,而下面的table view还在继续向上滑动。

我的问题:
如何能禁掉header view的这个默认行为:“到顶部后不再跟着table view一起滑出界面,而是留在了最顶端。直到这个section滑出界面。” 我需要header view跟着table view 一起滑出界面。

为了说明,附上一张图:
screenshot

展开
收起
a123456678 2016-07-19 16:29:25 2031 0
1 条回答
写回答
取消 提交回答
  • (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == self.myTableView)
    {
    //YOUR_HEIGHT 为最高的那个headerView的高度
    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);
    }
    }
    }
    2019-07-17 19:58:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载