MJRefresh
MJRefresh copied to clipboard
An easy way to use pull-to-refresh.
**你的新功能建议是否牵扯到某个常见的问题?** 比如,在开发中,经常遇到XXX问题,目前框架的功能不足以解决这个问题 **你希望达到的效果** 比如,我希望框架能够帮助我解决XXX问题,实现XXXX那样的效果 **你能考虑到的可选实现方案** 描述一下你认为要实现这个功能,有哪些可行的一些实现方案?
**描述bug** MJRefreshHeader 下拉刷新后,通过设置contentoffset保持显示刷新前的cell,滑动后快速跳到第一个cell **必现/偶发?** 必现 **怎么样重现这个bug** 1. UITableView 全屏cell:pageEnabled = YES 2. 下拉刷新后显示刷新前的cell:reloadData,setContentOffset 3. 滑动后,快速跳到了第一个cell **你期望的结果是什么?** 如何解决呢 **运行环境** - iPhone11 - iOS13 - Xcode10
把tableview初始化的style 改成UITableViewStyleGrouped类型,上拉刷新的footer和最后一个cell多了一段空白距离
继承自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 =...
**描述bug** collectionView上拉 加载自定义gif footer 刚出现界面时会卡顿一下, **必现/偶发?** 必现 **怎么样重现这个bug** collectionView上拉拖动 footer 刚出现界面就可以复现 **你期望的结果是什么?** 通过对比发现旧版本3.1.12与最新(3.7.5)在某些写法上有差异 在这个commit上, 628266f540dfedfd3bb3c0a33ad92c7a3618b8ed ``` dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self executeRefreshingCallback]; }); ``` 发现这行代码移除了延迟调用,但是我发现重新加上这行代码之后,footer刚出现在屏幕上就不会对collectionView造成卡顿了,想请教大佬是出于什么原因呢,`speed up`?,谢谢大佬 **运行环境** -...
整个控制器就是collectionController 用[[UICollectionViewFlowLayout alloc]init]创建的 然后设置collection的背景图 下拉刷新的时候整个背景图会上下弹一下 _Originally posted by @674481501 in https://github.com/CoderMJLee/MJRefresh/issues/1305#issuecomment-506255800_
我的程序支持 阿拉伯语,它是镜像的,需要从右向左的布局。 如果我对UICollectionView进行镜像翻转成“从右向左”。 mj_header的label文字也会跟着二次翻转。 因为阿拉伯语会对mj_header进行一次翻转,UICollectionView翻转后,会再次二次翻转。 会造成镜像要“从右向左”,最终展示的结果为“从左向右”。 我有一个阿拉伯语的国际化文件,你可以使用它。 [ar.lproj.zip](https://github.com/CoderMJLee/MJRefresh/files/8472731/ar.lproj.zip)
在状态变化时,我不太明白当初为什么单独在UI切换至MJRefreshStateRefreshing状态时使用DispatchAsync,而在切换至MJRefreshStateIdle状态时不使用DispatchAsync。 我认为setState的调用者应该确保在主线程调用的,而不是在set方法内再用异步分发到主线程。 这里做DispatchAsync只会造成一个严重点问题: 如果beginRefreshing和endRefreshing在很近的时间段调用(这很常见,比如网络请求完成调用endRefreshing后,刚好用户又点击了TabBar按钮触发beginRefreshing),由于异步分发,可能会先执行恢复滚动区域再执行增加滚动区域, 造成头部累积增加contentInset.top,体验相当糟糕。 所以我去掉了MJRefreshDispatchAsyncOnMainQueue()部分,经过有限的测试没有发现其他问题。
### 重现步骤 - 新建一个工程; 下载tag为3.7.5的版本并拖入工程. - 工程配置: Target -> build setting -> debug information format -> debug -> DWARF with dSYM file 配置目的:可以在debug模式下找可能有内存泄漏的代码 - 在第一个启动的VC的 ViewDidLoad中 放入如下代码 ``` MJRefreshNormalHeader *header...
**描述bug** 一次加载5条视频,上拉加载时,不调用footer block **必现/偶发?** 必现 **怎么样重现这个bug** https://user-images.githubusercontent.com/10040131/127792981-524ef022-5a71-42a1-b041-e1313f27ba25.mp4 **运行环境** - iPhone11 - iOS14.4.2 - Xcode12.4 (12D4e) **代码** ```objc _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width , [[UIScreen mainScreen] bounds].size.height...