美文网首页
火遍安卓的下拉刷新框架 SmartRefresh 出 IOS 版

火遍安卓的下拉刷新框架 SmartRefresh 出 IOS 版

作者: scwang90 | 来源:发表于2022-07-07 20:38 被阅读0次

    安卓那边的开源库 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
    header-delivery.gif header-material.gif
    Refresh-your-delivery MaterialHeader
    BezierRadar BezierCircle
    header-radar.gif header-circle.gif
    Pull To Refresh Pull Down To Refresh
    FlyRefresh DropBox
    header-fly.gif header-drop.gif
    FlyRefresh DropBoxHeader
    Phoenix Taurus
    header-phoenix.gif header-taurus.gif
    Yalantis/Phoenix Yalantis/Taurus
    BattleCity HitBlock
    header-game-tank.gif header-game-block.gif
    FunGame/BattleCity FunGame/HitBlock
    StoreHouse WaveSwipe
    header-store.gif header-wave.gif
    CRefreshLayout WaveSwipeRefreshLayout
    Original Classics
    header-original.gif header-classics.gif
    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
    
    

    相关文章

      网友评论

          本文标题:火遍安卓的下拉刷新框架 SmartRefresh 出 IOS 版

          本文链接:https://www.haomeiwen.com/subject/eqrpbrtx.html