https://blog.csdn.net/u013285730/article/details/50615551?utm_source=blogxgwz6

XZMRefresh

The easiest way to use pull-to-The transverse refresh(非常易用的横向刷新框架与MJRefresh用法一致)

框架开发的缘由:

现今已有越来越多的APP需要横向刷新的需求,然而MJRefresh已不能满足该需求,这套框架已经使用的非常的广泛,并且框架本身封装比较完美集成使用也非常的简单,方法的使用大家也非常的熟悉,所以XZMRefresh本着模仿MJRefresh框架做了横向刷新的Refresh,这样大家不必再去适应繁琐的新框架集成。

[github地址]:https://github.com/xiezhongmin/XZMRefresh

APP实例

1.好赞APP

2.淘宝APP

Content

使用方法参考

默认

隐藏时间

动画图片

[动画图片 + 隐藏状态和时间](#动画图片 + 隐藏状态和时间)

自定义文字

特性说明

如何使用XZMRefresh

cocoapods导入:pod 'XZMRefresh'

手动导入:

将XZMRefresh文件夹中的所有文件拽入项目中

导入主头文件:#import "XZMRefresh.h"

下拉刷新控件的种类

默认(Normal):XZMRefreshNormalHeader

动图(Gif):XZMRefreshGifHeader

上拉刷新控件的种类

默认(Normal):XZMRefreshNormalFooter

动图(Gif):XZMRefreshGifFooter

默认

#pragma mark UICollectionView + 默认刷新

- (void)addNormalHeader

{

__weak typeof(self) weakself = self;

// 添加下拉刷新头部控件

[self.collectionView addNormalHeaderWithCallback:^{

// 增加1条假数据

weakself.examples += 1;

// 模拟延迟加载数据,因此2秒后才调用)

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[weakself.collectionView reloadData];

// 结束刷新

[weakself.collectionView.xzm_header endRefreshing];

});

}];

// 自动刷新(一进入程序就下拉刷新)

[self.collectionView.xzm_header beginRefreshing];

}

隐藏时间

// 隐藏时间

self.collectionView.xzm_header.updatedTimeHidden = YES;

1

2

动画图片

__weak typeof(self) weakself = self;

// 添加下拉刷新头部控件

[self.collectionView addGifHeaderWithCallback:^{

// 进入刷新状态就会回调这个Block

// 增加1条假数据

weakself.examples += 1;

// 模拟延迟加载数据,因此2秒后才调用)

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[weakself.collectionView reloadData];

// 结束刷新

[weakself.collectionView.xzm_gifHeader endRefreshing];

});

}];

// 设置普通状态的动画图片

NSMutableArray *idleImages = [NSMutableArray array];

for (NSUInteger i = 1; i<=60; i++) {

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_anim__000%zd", i]];

[idleImages addObject:image];

}

[self.collectionView.xzm_gifHeader setImages:idleImages forState:XZMRefreshStateNormal];

// 设置正在刷新状态的动画图片

NSMutableArray *refreshingImages = [NSMutableArray array];

for (NSUInteger i = 1; i<=3; i++) {

UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"dropdown_loading_0%zd", i]];

[refreshingImages addObject:image];

}

[self.collectionView.xzm_gifHeader setImages:refreshingImages forState:XZMRefreshStateRefreshing];

// 马上进入刷新状态

[self.collectionView.xzm_gifHeader beginRefreshing];

动画图片 + 隐藏状态和时间

// 添加动画图片代码同上

// 隐藏时间

self.collectionView.xzm_gifHeader.updatedTimeHidden = YES;

// 隐藏状态

self.collectionView.xzm_gifHeader.stateHidden = YES;

自定义文字

// 设置文字

[self.collectionView.xzm_header setTitle:@"滑动可以刷新" forState:XZMRefreshStateNormal];

[self.collectionView.xzm_header setTitle:@"释放立即刷新" forState:XZMRefreshStatePulling];

[self.collectionView.xzm_header setTitle:@"正在刷新中 ..." forState:XZMRefreshStateRefreshing];

// 设置字体

self.collectionView.xzm_header.font = [UIFont systemFontOfSize:15];

// 设置颜色

self.collectionView.xzm_header.textColor = [UIColor redColor];

---------------------

作者:配合演出

来源:CSDN

原文:https://blog.csdn.net/u013285730/article/details/50615551

版权声明:本文为博主原创文章,转载请附上博文链接!

iOS使用XZMRefresh实现UITableView或UICollectionView横向刷新的更多相关文章

  1. IOS怎么实现一个UITableView的下拉刷新

    採用的EGORefreshTableHeaderView来实现: 在Controller上实现EGORefreshTableHeaderDelegate的delegate @property(nona ...

  2. iOS 8自动调整UITableView和UICollectionView布局

    本文转载自:http://tech.techweb.com.cn/thread-635784-1-1.html 本文讲述了UITableView.UICollectionView实现 self-siz ...

  3. iOS全埋点解决方案-UITableView和UICollectionView点击事件

    前言 在 $AppClick 事件采集中,还有两个比较特殊的控件: UITableView •UICollectionView 这两个控件的点击事件,一般指的是点击 UITableViewCell 和 ...

  4. iOS中UITableView和UICollectionView的默认空态页

    项目中想实现空态页风格统一控制的效果,就封装了一个默认空态页,使用的技术点有:1 方法替换 ,2 给分类(Category)添加属性. 我们知道,扩展(extension)可以给类添加私有变量和方法. ...

  5. UITableView和UICollectionView的Cell高度的几种设置方式

    UITableViewCell 1.UITableView的Cell高度默认由rowHeight属性指定一个低优先级的隐式约束 2.XIB中可向UITableViewCell的contentView添 ...

  6. [转]iOS8 自动调整UITableView和UICollectionView布局

    转自:http://www.cocoachina.com/industry/20140825/9450.html (via:玉令天下的Blog)   本文讲述了UITableView.UICollec ...

  7. IOS 11 下适配UITableView

    9月份苹果发布了IOS11和Iphone X,这一操作系统一硬件对于开发者适配上面还是造作了不少蛋疼的地方.先来看看IOS 11,这些蛋疼的需要适配的地方: 1.UIScrollView及其子类在IO ...

  8. RumTime实践之--UITableView和UICollectionView缺省页的实现

    有关RunTime的知识点已经看过很久了,但是一直苦于在项目中没有好的机会进行实际运用,俗话说"光说不练假把式",正好最近在项目中碰到一个UITableView和UICollect ...

  9. UITableView和UICollectionView的方法学习一

    参考资料 UITableView UICollectionView UICollectionViewDataSource UICollectionViewDelegate UICollectionVi ...

随机推荐

  1. postgre中类似oracle的sql%rowcount用法

    get diagnostics cnt := row_count; 现在有两个表tab1和tab2,两个表的格式相同,tab1中有1000条数据,tab2中0条数据 创建测试功能函数 create o ...

  2. 基于centOS7:新手篇→tomcat的部署方式

    一.自动部署 将项目直接拷贝到webapps目录下,通过项目名直接访问 二.在server.xml中指定项目 打开Tomcat/conf/server.xml文件,在host标签中加入以下参数并重启T ...

  3. KVM使用

    这里使用的是Ubuntu18.04桌面版虚拟机 关于KVM可以看一下我之前的博客,有一些简单的介绍. 1.在打开虚拟机之前先开启此虚拟机的虚拟化功能. 2.安装KVM及其依赖项 wy@wy-virtu ...

  4. LeetCode算法题-Power Of Three(Java实现-七种解法)

    这是悦乐书的第204次更新,第215篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第71题(顺位题号是326).给定一个整数,写一个函数来确定它是否为3的幂.例如: 输入 ...

  5. 自定义Chrome浏览器

    一.全局 自用备份,窗体透明化.要添加对应网站的窗体class到对应的位置 /*主页背景*/ /*https://images.cnblogs.com/cnblogs_com/AardWolf/135 ...

  6. 【teradata】强制解锁

    使用加锁用户释放锁,也可以用其它用户使用如下语句强制解锁 Release lock (pdm_data ),Override

  7. 面试总结——JVM篇

    前言:该篇主要对Java虚拟机相关的题目进行介绍. JVM篇 基本上在面试的时候,都会或多或少的涉及JVM,主要看面试官的侧重点,笔者在面试过程中,是通过volatile问题,引导了JVM相关问题上的 ...

  8. 为什么二流程序员都喜欢黑php?

    为什么二流程序员都喜欢黑php? 为什么程序员都喜欢黑php?这个嘛!你骂一句php是垃圾试试,保准php程序员不揍扁你!这就好像自己的母校,纵然有很多不好的地方,但是只允许自己调侃,不允许外人骂半句 ...

  9. SQLite也可能出现死锁

    提到锁就不得不说到死锁的问题,而SQLite也可能出现死锁.下面举个例子:连接1:BEGIN (UNLOCKED)连接1:SELECT ... (SHARED)连接1:INSERT ... (RESE ...

  10. 第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战

    USB3.1技术已经推出, 10Gbps的速率足以满足数据, HD视频传输的要求. 要步入USB3.1的研发, 还得将USB3.0的基础打扎实. 微软提供的SUPER MUTT仅仅包括一个接口0, 其 ...