BFRGifRefreshControl 1.0.6

BFRGifRefreshControl 1.0.6

测试测试过
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017 年 1 月

Jordan MorganHumber AquinoAndrew Yates 维护。



 
依赖于
FLAnimatedImage>= 0
Masonry>= 0
 


  • Andrew Yates、Jordan Morgan 和 Humber Aquino

Demo

摘要

BFRGifRefreshControl 是一种非常轻量级、无干扰且可配置的方式,可以将 .gif 添加到您的 iOS 应用程序内部刷新动作中📱!您可以完全控制它,整个包的大小仅有 100 多行😃!

安装

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
  • 是否有导航栏?
  • 视图层级复杂且定制吗?
  • 也许您需要对其他 UI 元素进行更大或更小的偏移量?
  • ...等等

这些都是合理的问题!BFRGifRefreshControl 被设计成无论您身处何种情况都能使用。我们可以做出假设或通过分类控制 UIScrollView,但每个开发者都面临着不同的情况,这些假设有时可能是错误的,或者可能导致一些困难调试🐛.

确实,大多数情况下,对于 Y 嵌入和偏移量的值(例如 64 和 -64)需要进行直接相反的设置,并且触发刷新的阈值只需要与控件的高度相同,但并非总是这种情况。因此,我们选择了由开发者有意识地设置这些值👍

重要说明

  • 约束适用于更小、更“标志”风格的 .gif 文件(大约 50 x 50)。当然,可以很容易地对其进行更改以适应所有大小,但可能需要进行一些微调😎.

继续前进

我们定期维护此代码,您也可以放心,它已在生产环境中经过数千名用户的实战测试👍但话又说回来,我们偶尔也会出错 - 所以,如果您发现任何问题,请随时提出问题!

我们总是很乐意讨论技术问题,所以您可以在Twitter上向我们打招呼

或者,嘿,为什么不尝试开发BFRGifRefreshControl,并从中获得报酬呢!我们正在招聘


许可

本项目使用MIT许可证。