安卓那边的开源库 SmartRefresh 之所以能火,我集体感觉是因为 SmartRefresh 汇集了各种优质刷新款式于一身,对款式的切换非常简单,还不必思考更换款式之后的兼容性稳定性问题,在 SmartRefresh 呈现之前 github 上也有各种个样优良款式的刷新,然而切换的老本比拟高,危险也高;同时他能一个框架集成各种格调的款式,也阐明它的扩展性十分强,即便找不到适宜本人的款式,也能够通过自定义款式来解决。
那么当初我带来了一个好消息,IOS版本 SmartRefreshControl 终于公布了!
github: 我的项目地址
gitee: 我的项目地址 (国内速度快)
简介
SmartRefreshControl 是 SmartRefreshLayout 的IOS版,和Android版在 理念
和 外观
下面保留雷同的设计,然而因为 Android 和 IOS 两个零碎的差异,IOS版本在性能应用和个性上与安卓版有所差异。刷新控件应用 ObjectiveC 语言编写,演示 DemoApp 应用 Swift 语言编写。
目前 SmartRefreshControl
性能还不是很弱小,也不太稳固,只是在界面层面实现了安卓版的性能。欢送大家来体验与发现BUG,不举荐应用在正式我的项目中。
由来
大学毕业后我大部分工夫从事安卓开发,在安卓版 SmartRefresh
大火之后,我开始转型 IOS 开发。到当初曾经有三年的IOS开发教训,因为IOS上也还未有像 SmartRefresh
一样同一个开源库多种外观款式的刷新库,也想坚固本人所学的 IOS技能,我决定在空闲之余把安卓 SmartRefresh
复刻到IOS平台来。通过一年多的致力总算初步实现了。
成果展现
Delivery | Material |
---|---|
Refresh-your-delivery | MaterialHeader |
BezierRadar | BezierCircle |
---|---|
Pull To Refresh | Pull Down To Refresh |
FlyRefresh | DropBox |
---|---|
FlyRefresh | DropBoxHeader |
Phoenix | Taurus |
---|---|
Yalantis/Phoenix | Yalantis/Taurus |
BattleCity | HitBlock |
---|---|
FunGame/BattleCity | FunGame/HitBlock |
StoreHouse | WaveSwipe |
---|---|
CRefreshLayout | WaveSwipeRefreshLayout |
Original | Classics |
---|---|
FlyRefresh | ClassicsHeader |
如果须要体验下面列出的各种刷新头,须要克隆 git 源码,用Xcode编译运行Demo我的项目即可。
简略用例
1.在 Podfile
中增加依赖
pod 'SmartRefreshControl', '~> 0.1.0'
2.在 ViewController
中增加刷新控件
#import <SmartRefreshControl/SmartRefreshControl.h>@interface DemoTableViewController ()@property (strong, nonatomic) IBOutlet UITableView *tableView; @property (strong, nonatomic) UIRefreshBezierRadarHeader *header; @end@implementation DemoTableViewController- (void)viewDidLoad { [super viewDidLoad]; //形式1: 初始化同时绑定事件 [self setHeader:[UIRefreshBezierRadarHeader attach:self.tableView target:self action:@selector(onRefresh)]]; //形式2: 先初始化,再绑定事件 [self setHeader:[UIRefreshBezierRadarHeader attach:self.tableView]]; [self.header addTarget:self action:@selector(onRefresh)]; //形式3: 先创立,再绑定 [self setHeader:[UIRefreshBezierRadarHeader new]]; [self.header attach:self.tableView]; [self.header addTarget:self action:@selector(onRefresh)];}@end
3.增加刷新监听事件
@implementation DemoTableViewController- (void)onRefresh { [self.header finishRefresh]; //敞开刷新,能够改成申请网络,胜利/失败之后再敞开刷新}@end