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 ...
随机推荐
- ACDSee清除旧版本残余
新建记事本,输入以下内容: reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems" /f reg delete "HKE ...
- if else; while; break;continue ----流程控制系列
第一种语法: if 条件: # @引号是为了把条件和结果分开. 结果1 # 一个Tab或者4个空格 @告诉程序满足上面的if条件才会执行结果1结果2 #如果条件为真(True),执行结果1,然后执行结 ...
- eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一)
eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一) 本篇博客主要包含五个内容: 1.CXF换将搭建以及eclipse配置CXF. 2.eclipse创建w ...
- Django admin注册model究竟要怎么写才优雅
比如在Django admin 注册models时,会用到. 对于APP里自带的models,可以使用这种方式注册. from django.contrib import admin # Regist ...
- 前端性能优化成神之路--SSR(服务端渲染)
Nuxt.js的介绍 Nuxt.js概述 nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).Vue.js是开发SPA(单页应用)的,Nuxt.js这个框架,用V ...
- ES5-ES6-ES7_字符串与JOSN格式的数据相互转换以及深度克隆新对象
这篇文章主要来讲HTML5中的新方法:parse()把字符串转换成josn格式的数据和stringify()把josn格式的数据转换成字符串 eval()方法的回顾 eval()方法可以将任何字符串解 ...
- Linux的基础命令
-shutdown –h now(root用户才有效) 立即关机 -shutdown –r now(root用户才有效) 立即重新启动计算机 -reboot ...
- 使用chrome远程调试设备及调试模拟器设备
使用chrome开发工具远程在Android上远程调试 准备工作 开始远程调试之前,需要做好如下准备: 在你电脑上安装Chrome 32 或者更新的版本 一根连接Android设备的USB线 手机系统 ...
- Grid布局指南
简介 CSS网格布局(又称“网格”),是一种二维网格布局系统.CSS在处理网页布局方面一直做的不是很好.一开始我们用的是table(表格)布局,然后用float(浮动),position(定位)和in ...
- Doc2vec实现原理
论文来源:https://www.eecs.yorku.ca/course_archive/2016-17/W/6412/reading/DistributedRepresentationsofSen ...