77.下拉刷新MJRefresh和UITableView的section headerView冲突的原因分析与解决方案
来源:互联网 发布:java 获取网页源代码 编辑:程序博客网 时间:2024/05/17 09:25
首先修改MJRefreshHeader.h 中的这个 目的是当HeadView已经处于当前屏幕顶端 时不要执行动画 直接设置偏移量为64
// 恢复inset和offset
if (self.scrollView.mj_insetT > 64) {
[UIViewanimateWithDuration:MJRefreshSlowAnimationDurationanimations:^{
self.scrollView.mj_insetT -=self.mj_h;
// 自动调整透明度
if (self.isAutomaticallyChangeAlpha)self.alpha =0.0;
} completion:^(BOOL finished) {
self.pullingPercent =0.0;
}];
}else{
self.scrollView.mj_insetT =64;
}
2、在导入Mjrefresh的ViewController中实现UIScrollViewDelegate代理方法scrollViewDidScroll
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (self.tableView.header.state == MJRefreshStateRefreshing)
{
NSLog(@">>>>>>>>>>>>>>>>>>%f",scrollView.contentInset.top);
if (scrollView.contentOffset.y >= -scrollView.contentInset.top
&& scrollView.contentOffset.y > -54 + -64 && scrollView.contentOffset.y < -64)
{
//注意:修改scrollView.contentInset时,若使当前界面显示位置发生变化,会触发scrollViewDidScroll:,从而导致死循环。
//因此此处scrollView.contentInset.top必须为-scrollView.contentOffset.y
scrollView.contentInset =UIEdgeInsetsMake(-scrollView.contentOffset.y +4,0,0,0);
}
elseif (scrollView.contentOffset.y >= -64)//到0说明headerView已经在tableView最上方,不需要再修改了
{
scrollView.contentInset =UIEdgeInsetsMake(64,0,0,0);
}
}
}
注意 以上解决方案只适用于含有导航栏的ViewController 如果不含有导航栏 自行减去64参考了:http://www.geekcome.com/content-10-2518-1.html
- 77.下拉刷新MJRefresh和UITableView的section headerView冲突的原因分析与解决方案
- 下拉刷新和UITableView的section headerView冲突的原因分析与解决方案
- 下拉刷新时UITableView的section headerView冲突的解决
- MJRefresh的下拉刷新,UICollectionView,UItableview
- ListView的headerView下拉刷新PullToZoomInListView分析
- 下拉刷新和UITableView的sectionHeaderView冲突的问题
- UICollectionView headerView悬浮 类似于UItableView的Section
- UITableView的headerView悬停解决方案
- UITableView 上拉刷新和下拉刷新(使用MJRefresh)
- UITableView刷新指定的section和cell
- 如果去掉UITableView上的section的headerView和footerView的悬浮效果
- 基于MJRefresh的自定义下拉刷新
- IOS MJRefresh下拉刷新的使用
- UItableView的上拉与下拉刷新
- 如何让UITableView的section headerView不悬停
- 让UITableView的section header view不悬停,让UITableView的section headerview取消粘性
- UITableView的section设置了headerView导致下滑的时候headerView跟着滚动的解决方法
- iOS UITableView下拉刷新上拉加载更多MJRefresh类库(推荐)使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- UVA10422八个方向图形状态搜素
- Android 简易聊天窗口
- Java RC4 加密解密
- 05-工具箱
- Mybatis3.x与Spring4.x整合
- 77.下拉刷新MJRefresh和UITableView的section headerView冲突的原因分析与解决方案
- 最新
- 正则表达式30分钟入门教程
- expire_logs_day binlog自动过期清理binlog
- AJax
- yii2 常用的before和after汇集
- linux shell 正则表达式(BREs,EREs,PREs)差异比较
- 如何解决Android 6.0中无法编译出jar
- 清华学堂练习题——传纸条