MJRefresh
MJRefresh copied to clipboard
3.3.1版本,应该已经修复了的问题。还是出现了MJRefreshGifHeader下拉后回不到原来的位置的问题。偶现问题。
继承自MJRefreshGifHeader : @interface DHRefreshLottieHeader : MJRefreshGifHeader 集成了lottie这个库用于实现gif效果。
偏移方法里面的重写:
- (void)scrollViewContentOffsetDidChange:(NSDictionary *)change { [super scrollViewContentOffsetDidChange:change]; CGPoint point; id newVelue = [change valueForKey:NSKeyValueChangeNewKey]; [(NSValue *)newVelue getValue:&point]; self.animationView.hidden = NO; CGFloat progress = point.y / ([UIScreen mainScreen].bounds.size.height / 3.0); if(self.state != MJRefreshStateRefreshing) { self.animationView.currentProgress = -progress; } }
当前使用版本 设备 系统 复现条件
另外不方便可以私发脱敏后的 Demo, 否则直接拖 demo 进聊天框即可
if (msgId == -1) { [self.datas removeAllObjects]; [self.tableView setContentOffset:CGPointMake(0, 0) animated:NO]; }
//断点这里控制台打印self.tableView.contentOffSet竟然是CGPOintMake(0,-64)。关键是上面的[self.tableView setContentOffset:CGPointMake(0, 0) animated:NO];代码也是执行过的。
if (!msgList || msgList.count < 20) {
[self.tableView.mj_footer endRefreshingWithNoMoreData];
}
我这边的逻辑是点击不同按钮,公用同一个tableView,只是调用不同接口,切换数据源而已。但是里面的逻辑是一样的。都是进入上面的几行代码。
切换按钮的时候偶现的
解决了吗?老哥
切换控制器时也会出现(偶现),A控制器请求未结束切换B控制器,再返回A控制器,mj_header无法回弹
同样出现这样的问题
切换控制器时也会出现(偶现),A控制器请求未结束切换B控制器,再返回A控制器,mj_header无法回弹
你是哪个版本出现的,我是3.2.5出现的,也是在切换到B控制器之后,回到A控制器时,偶现该问题,header无法回弹,导致上面区域留白了
3.3.1版本我也遇到了这个问题,升级到最新版本,该问题没有再复现了