安卓那边的开源库 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平台来。通过一年多的致力总算初步实现了。

成果展现

DeliveryMaterial
Refresh-your-deliveryMaterialHeader
BezierRadarBezierCircle
Pull To RefreshPull Down To Refresh
FlyRefreshDropBox
FlyRefreshDropBoxHeader
PhoenixTaurus
Yalantis/PhoenixYalantis/Taurus
BattleCityHitBlock
FunGame/BattleCityFunGame/HitBlock
StoreHouseWaveSwipe
CRefreshLayoutWaveSwipeRefreshLayout
OriginalClassics
FlyRefreshClassicsHeader

如果须要体验下面列出的各种刷新头,须要克隆 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