欢迎使用CSDN-markdown编辑器

来源:互联网 发布:php 获取get和post 编辑:程序博客网 时间:2024/05/22 08:17

实现UITableView穿过透明的导航栏时,tableView的sectionHeader停留在导航栏下面(引用网上方法):

在UIScrollView的代理方法-(void)scrollViewDidScroll:(UIScrollView *)scrollView 实现下面的代码,

CGFloat header = 64;//这个header其实是section1 的header到顶部的距离if (scrollView.contentOffset.y<=header&&scrollView.contentOffset.y>=0) {    //当视图滑动的距离小于header时    scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);}else if(scrollView.contentOffset.y>header){    //当视图滑动的距离大于header时,这里就可以设置section1的header的位置啦,设置的时候要考虑到导航栏的透明对滚动视图的影响    scrollView.contentInset = UIEdgeInsetsMake(header, 0, 0, 0);}

主要是写一下今天说下面的:
在网络请求,获取到列表数据后,tableview往上滑动时,没有出现sectionheader停留在导航栏下面,而是tableview的contentOffset.y被改变了,出现的情况就是往上滑tableview一直跳动,经过测试才发现,由于数据比较少,导致tableview的contentSize没有屏幕那么高,就一直滑不上去,数据多,上面的方法是可行的。

原创粉丝点击