MJRefresh icon indicating copy to clipboard operation
MJRefresh copied to clipboard

3.3.1版本,应该已经修复了的问题。还是出现了MJRefreshGifHeader下拉后回不到原来的位置的问题。偶现问题。

Open shenchunxing opened this issue 2 years ago • 9 comments

继承自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; } }

shenchunxing avatar Jan 07 '22 09:01 shenchunxing

当前使用版本 设备 系统 复现条件

另外不方便可以私发脱敏后的 Demo, 否则直接拖 demo 进聊天框即可

wolfcon avatar Jan 07 '22 09:01 wolfcon

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];
    }

shenchunxing avatar Jan 20 '22 09:01 shenchunxing

我这边的逻辑是点击不同按钮,公用同一个tableView,只是调用不同接口,切换数据源而已。但是里面的逻辑是一样的。都是进入上面的几行代码。

shenchunxing avatar Jan 20 '22 09:01 shenchunxing

切换按钮的时候偶现的

shenchunxing avatar Jan 20 '22 09:01 shenchunxing

解决了吗?老哥

Xixi0218 avatar Jun 30 '22 02:06 Xixi0218

切换控制器时也会出现(偶现),A控制器请求未结束切换B控制器,再返回A控制器,mj_header无法回弹

ccbq501 avatar Nov 08 '22 09:11 ccbq501

同样出现这样的问题

carlchou00 avatar Nov 09 '22 07:11 carlchou00

切换控制器时也会出现(偶现),A控制器请求未结束切换B控制器,再返回A控制器,mj_header无法回弹

你是哪个版本出现的,我是3.2.5出现的,也是在切换到B控制器之后,回到A控制器时,偶现该问题,header无法回弹,导致上面区域留白了

carlchou00 avatar Nov 14 '22 01:11 carlchou00

3.3.1版本我也遇到了这个问题,升级到最新版本,该问题没有再复现了

zhipengbird avatar Jul 19 '23 08:07 zhipengbird