MJRefresh下拉刷新后不回弹到原来的位置

        在本次的项目开发中,碰到了一个头疼的问题,MJRefresh下拉刷新后mj_header没回弹到原来的位置,而是位置下移,再次快速下拉刷新,有可能会出现位置再次下移的情况。

        针对这个问题,在网上查找了不少资料,好多都说在viewWillDisappear:方法中调用    [self.tableView.mj_header endRefreshing]方法结束刷新。按照网上的方法试了试,发现该方法是无效的。于是不得不继续查找。

        最后终于找到了一个有效的方法,找到MJRefresh的源文件,然后找到mjrefreshheader.m文件,把该文件中scrollViewContentOffsetDidChange:方法中的if(self.window == nil) return注释掉就好了。此问题一般在切换Controller后有概率会出现,因为当当前Controller不可见时,view.widonw 会为nil,代码就不会继续执行复原操作。

        但解决办法有一个不好的地方,一般MJRefresh库都是通过Pod文件导入的,这个解决办法只能去修改Pod库中的文件。但暂时又没有其他办法,期待大家谁有好的解决办法分享出来。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容