博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【好程序员笔记分享】——下拉刷新和上拉加载更多
阅读量:5274 次
发布时间:2019-06-14

本文共 1770 字,大约阅读时间需要 5 分钟。

-iOS培训,iOS学习-------型技术博客、期待与您交流!------------

iOS学习之路--下拉刷新和上拉加载更多

简介

本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法。

内容

1.有哪些实现方法与各方法的优劣

使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容 并从网络上获取最新的信息。通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要的信息和获取最新的信息。那么这种功能如何实现呢,还请跟着 笔者继续往下看。

目前来说,主要的实现方法有以下几种

1.UIRefreshControl :iOS的UIkit中自带的一种刷新方法,最为基础和原始

2.自己自定义 :可以制作个性化的刷新工具,但较为复杂且易出现问题,不推荐新手和为赶工临时使用一下的人。

3.AH3DPullRefresh : 简单的下拉刷新/加载控件,带有3D效果, 使用很方便,如果是ARC环境的需要设置一下

具体设置位置如下图

在Build Phases的Compile Sources中设置UIScrollView+AH3DPullRefresh.m的Flags为-fno-objc-arc就可以正常运行了

4.MJRefresh :  方便快捷,是个人认为最为方便并且兼容性最好的刷新加载工具

5.其他开源库 :  网上有许多的开源库,包括以上推荐的3和4也是,网上还有许多各式各样的,有兴趣的话可以自行到CocoaChina或者其他提供开源代码的网站去搜索,选择一款适合自己情况的。

2.具体实例

接下来,请跟笔者来看看MJRefresh和一款笔者从CocoaChina上下载的一款很好看的名为YALSunnyRefreshControll的下拉刷新的具体实现的过程。

首先是添加下拉刷新,将YALSunnyRefreshControll文件夹添加到工程中

然后再需要添加下拉刷新的.h文件中引入头文件即#import "YALSunnyRefreshControl.h",并为该类@property 一个YALSunnyRefreshControl对象。

如图:

然后将该YALSunnyRefreshControl初始化并与所需要实现刷新功能的UITableView或者UICollectionView关联起来具体代码如下:

最后引入刷新动画所需要的图片,这些图片会和代码一起下载下来,可以使用他的,也可以换成自己的

最后实现的成果图如下:

当下拉表格的时候,表格上方就会有太阳升起和出现房屋的动画出现,是不是很好看?而且内容也刷新了,这工具真是即好用又好看.

接下来,我使用MJRefresh实现的上拉表单从网络加载更多数据并显示到表单上的功能。

首先第一步和之前一样,是将MJRefresh包添加到工程中,并引入到需要使用它的.m文件中

然后,在该文件中新建一个MJRefresh的全局变量,然后初始化并与tableView关联起来,具体代码如下:

我 的代码[self startDownload]的作用是,从网上第_offset条开始加载10条数据到本地,_offset+=10然后调用[self startDownload]就使我的应用加载了更多的十条数据,下载完毕后记得要调用tableView的 reloadData方法,才能将新加载的数据显示到表单中。

当加载完毕后,还需要调用一个停止加载的方法作为结束,否则无法进行下一次加载,在你的加载数据到你的tableView 的datasource的方法最后调用如下方法

上面两个分别是我的加载和刷新的结束方法的调用,最好在调用之前调用tableView的 reloadData方法;

如此,就完成了加载和刷新的功能的实现。

 

笔者表示对苹果的截图还不熟练,只会用截屏...

3.结语

总之,以上就是我对下拉刷新和上拉加载功能如何实现的个人总结,如果看客觉得我有说的不对和不足地方,还请多多指教,可以通过博客联系我,或是在文章下留下评论,谢谢~。

 

转载于:https://www.cnblogs.com/ITmgc/p/4423117.html

你可能感兴趣的文章
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Windows 2003全面优化
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
css & input type & search icon
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
0320-学习进度条
查看>>
MetaWeblog API Test
查看>>
移动、尺寸改变
查看>>
c# 文件笔记
查看>>
类和结构
查看>>
typeset shell 用法
查看>>
python 之 循环语句
查看>>