这是一个开源库,为 iOS 5.0+ 提供对 iOS 6.0 中引入的 UIRefreshControl 的支持。
使用它就像这样简单
UITableViewController *controller;
controller.refreshControl = [[UIRefreshControl alloc] init];
[controller.refreshControl addTarget:self action:@selector(doRefresh:) forControlEvents:UIControlEventValueChanged];
是的,这正是您在 iOS 6 中会写的代码。不需要任何更改。
您还可以在Storyboard中配置刷新控件,或者如果您想使用 +appearance
API 代理,也可以。它的功能就像您希望的那样,但现在您也可以将它部署到 iOS 5.0 上了。只需将 CKRefreshControl
项目提供的静态库链接起来,添加 -ObjC
链接器标志,您就准备好了。
CKRefreshControl 专门没有模仿 iOS 6 UIRefreshControl 的外观和感觉,用于 iOS 5.0。相反,它被设计得更像在 iOS 5 兼容应用中常见的一些拉刷新控件。因此,无论用户运行的是 iOS 5 还是 iOS 6,他们都能得到一个与设备上其他应用程序兼容的界面。
CKRefreshControl 最初是我们内部的 "CanvasKit" 库的一部分,用于构建 Instructure 的 iOS 应用。
一般来说,您甚至不知道您正在使用 CKRefreshControl。在 iOS 5 上,我们将 UIRefreshControl
注册为 CKRefreshControl
的子类,该子类实现了所有兼容性操作。在 iOS 6 上,我们只需退出即可;UIRefreshControl
原生可用,我们不需要做什么。
是的!Instructure在使用过程中没有遇到任何问题。但是,如果您发现任何错误,请告知我们,我们会确保它能够正常工作。
CKRefreshControl及其所有相关源代码均按照MIT许可发布。您可以在附带的LICENSE.txt文件中查看许可的完整文本。