iOS使用XZMRefresh实现UITableView或UICollectionView横向刷新
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横向刷新的更多相关文章
- IOS怎么实现一个UITableView的下拉刷新
採用的EGORefreshTableHeaderView来实现: 在Controller上实现EGORefreshTableHeaderDelegate的delegate @property(nona ...
- iOS 8自动调整UITableView和UICollectionView布局
本文转载自:http://tech.techweb.com.cn/thread-635784-1-1.html 本文讲述了UITableView.UICollectionView实现 self-siz ...
- iOS全埋点解决方案-UITableView和UICollectionView点击事件
前言 在 $AppClick 事件采集中,还有两个比较特殊的控件: UITableView •UICollectionView 这两个控件的点击事件,一般指的是点击 UITableViewCell 和 ...
- iOS中UITableView和UICollectionView的默认空态页
项目中想实现空态页风格统一控制的效果,就封装了一个默认空态页,使用的技术点有:1 方法替换 ,2 给分类(Category)添加属性. 我们知道,扩展(extension)可以给类添加私有变量和方法. ...
- UITableView和UICollectionView的Cell高度的几种设置方式
UITableViewCell 1.UITableView的Cell高度默认由rowHeight属性指定一个低优先级的隐式约束 2.XIB中可向UITableViewCell的contentView添 ...
- [转]iOS8 自动调整UITableView和UICollectionView布局
转自:http://www.cocoachina.com/industry/20140825/9450.html (via:玉令天下的Blog) 本文讲述了UITableView.UICollec ...
- IOS 11 下适配UITableView
9月份苹果发布了IOS11和Iphone X,这一操作系统一硬件对于开发者适配上面还是造作了不少蛋疼的地方.先来看看IOS 11,这些蛋疼的需要适配的地方: 1.UIScrollView及其子类在IO ...
- RumTime实践之--UITableView和UICollectionView缺省页的实现
有关RunTime的知识点已经看过很久了,但是一直苦于在项目中没有好的机会进行实际运用,俗话说"光说不练假把式",正好最近在项目中碰到一个UITableView和UICollect ...
- UITableView和UICollectionView的方法学习一
参考资料 UITableView UICollectionView UICollectionViewDataSource UICollectionViewDelegate UICollectionVi ...
随机推荐
- 介绍一个比较了各种浏览器对于HTML5 等标准支持程度的网站
可以选择浏览器种类,版本,比较的功能 网站地址:https://caniuse.com/#comparison
- Docker详细介绍安装与镜像制作和拉取
一.Docker是什么? 产生背景: 开发和运维之间因为环境不同和导致的矛盾(不同的操作系统.软件环境.应用配置等)DevOps 代码.系统.环境.配置等封装成镜像Image--->运维: 集群 ...
- [Hive_6] Hive 的内置函数应用
0. 说明 Hive 的内置函数的基本操作 | 时间函数 | String 函数 | 条件语句 | explode | split | substring 1. 基本操作 查看函数 show func ...
- Git版本管理工具常用命令说明
Git常用命令 $ touch README.md 创建一个README.md文件 $ git init 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文 ...
- Java 7 for Absolute Beginners/Java 7基础教程--读后感
1. 很适合部分初学者,因为书中对于JAVA许多特性都有涉猎,而且也是浅尝即止.如果读者没有受过专业的编程训练,那么在阅读此书时不会畏惧.因为书中没有充斥着大量的计算机理论知识,虽然作者依然覆盖了JA ...
- Kafka 0.11新功能介绍:空消费组延迟rebalance
Kafka 0.11新功能介绍:空消费组延迟rebalance 在0.11之前的版本中,多个consumer实例加入到一个空消费组将导致多次的rebalance,这是由于每个consumer inst ...
- scp 实现文件打包上传到linux
在A服务器上将/root/lk目录下所有的文件传输到B的/home/lk/cpfile目录下,命令为: scp -r /root/lk root@43.224.34.73:/home/lk/cpfil ...
- 虚拟化技术QEMU-KVM入门
一.QEMU.KVM.QEMU-KVM QEMU提供一系列的硬件模拟设备(CPU,网卡,磁盘等),客户机指令都需要QEMU翻译,因而性能较差.KVM是linux内核提供的虚拟化,可以用来进行vCPU的 ...
- Python中的Numpy入门教程
1.Numpy是什么 很简单,Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过nu ...
- Android studio中布局文件出现render problem问题
当做layout时,可能会出现render problem的情况.意思就是无法预览当前布局页面,这种情况是因为API版本太高造成的.只需要修改API为更低版本即可.