测试测试过 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2017 年 1 月 |
由 Jordan Morgan、Humber Aquino、Andrew Yates 维护。
依赖于 | |
FLAnimatedImage | >= 0 |
Masonry | >= 0 |
BFRGifRefreshControl 是一种非常轻量级、无干扰且可配置的方式,可以将 .gif 添加到您的 iOS 应用程序内部刷新动作中
BFRGifRefreshControl 由 CocoaPods 托管,并建议使用它进行安装
pod 'BFRGifRefreshControl'
要开始,您可以从您的应用程序包初始化 .gif 或通过 NSData
,这可以通过网络调用或其他方式检索。流程包括将其添加到您的表格视图中,为您的情况设置所需的偏移值,然后在您的表格视图实例的 scrollViewDidEndDragging:willDecelerate:
中调用 [refreshControl containingScrollViewDidEndDragging]
。
以下是一个快速示例
self.gifRefresh = [[BFRGifRefreshControl alloc] initWithGifFileName:@"myGif" refreshAction:^ {
//Calls [self.gifRefresh stopAnimating] inside of performFakeDataRefresh
[self performFakeDataRefresh];
}];
self.gifRefresh.dataRefreshOffsetThreshold = 100.0f; //Trigger refresh after user has scrolled this far
self.gifRefresh.dataRefreshingGifYInset = 115.0f; //Where we want the gif to "hang out" while it performs the block
self.gifRefresh.dataLoadedYInset = 64.0f; //Account for navbar
self.gifRefresh.dataLoadedYOffset = -64.0f; //Account for navbar
如果您想要更多上下文,只需启动演示项目并查看一下
等等 - 这似乎需要很多配置!为什么?
automaticallyAdjustsScrollViewInsets
设置为 YES
还是 NO
?这些都是合理的问题!BFRGifRefreshControl 被设计成无论您身处何种情况都能使用。我们可以做出假设或通过分类控制 UIScrollView
,但每个开发者都面临着不同的情况,这些假设有时可能是错误的,或者可能导致一些困难调试
确实,大多数情况下,对于 Y 嵌入和偏移量的值(例如 64 和 -64)需要进行直接相反的设置,并且触发刷新的阈值只需要与控件的高度相同,但并非总是这种情况。因此,我们选择了由开发者有意识地设置这些值
我们定期维护此代码,您也可以放心,它已在生产环境中经过数千名用户的实战测试
我们总是很乐意讨论技术问题,所以您可以在Twitter上向我们打招呼
或者,嘿,为什么不尝试开发BFRGifRefreshControl,并从中获得报酬呢!我们正在招聘!
本项目使用MIT许可证。