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.结语

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

时间: 2024-10-10 01:08:44

iOS学习之路--下拉刷新和上拉加载更多的相关文章

支持下拉刷新和上划加载更多的自定义RecyclerView(仿XListView效果)

首先看效果 下拉刷新:        上划加载        在项目更新的过程中,遇到了一个将XListView换成recyclerView的需求,而且更换完之后大体效果不能变,但是对于下拉刷新这样的效果,谷歌给出的解决方案是把RecyclerView放在一个SwipeRefreshLayout中,但是这样其实是拉下一个小圆形控件实现的,和XListView的header效果不同.在网上找了很多的别人代码,都没有实现我想要的效果,于是自己动手写了一个. 具体实现的效果有以下几条 下拉刷新功能:

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果(五) 五一劳动节马上来临,小伙伴有妹有很激动哟,首先祝天下所有的程序猿节日快乐!这个五一对于我来说有点不一样,我的人生从这个五一就转弯了,爱情长跑8年的我结婚了,一会支付宝账号我会公布出去,请自觉打款!谢谢合作. 灯光闪起来: 舞蹈跳起来: 歌曲唱起来: -------------------------------------------------------------------------------------

Android下拉刷新库,利用viewdraghelper实现,集成了下拉刷新,底部加载更多,数据初始加载显示loading等功能

项目Github地址:https://github.com/sddyljsx/pulltorefresh Android下拉刷新库,利用viewdraghelper实现. 集成了下拉刷新,底部加载更多,以及刚进入加载数据的loadview.包括了listview与gridview的改写. 效果1: 效果2: 效果3: 效果4: 效果5: 使用说明: imageList=(ListView)findViewById(R.id.image_list); imageAdapter=new ImageA

Android ListView 下拉刷新 点击加载更多

最近项目中用到了ListView的下拉刷新的功能,总结了一下前辈们的代码,单独抽取出来写了一个demo作为示例. 效果图 下拉刷新: 加载更多: CustomListView.java [java] view plaincopy package com.example.uitest.view; import java.util.Date; import com.example.uitest.R; import android.content.Context; import android.uti

十分钟实现ListView下拉刷新上滑加载更多

说到ListView下拉刷新几乎每个APP都会用到,所以ListView下拉刷新是很重要的,就像ListView优化一样是你必会的东西. ListView实现下拉刷新如果我们开发人员自己编写相对来说比较费事的,当我们使用第三方库之后我们再来开发这个功能就会省事很多.相比与自己实现可以少编写不少代码,Android-PullToRefresh库可以轻松实现ListView的下拉刷新功能. 要使用Android—PullToRefesh库对ListView实现下拉刷新要经过以下几个步骤: 1.下载A

最新Android ListView 下拉刷新 上滑加载

开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,之前大家最常用的应该是pull to refresh或它的变种版吧,google官方在最新的android.support.v4包中增加了一个新类SwipeRefreshLayout,地址 这个类的作用就是提供官方的下拉刷新,并且效果相当不错,而上拉加载更多则用我们自定义的listview,也是相当简单. 下拉刷新 简单的介绍下: 首先它是一个viewgroup,但是它只允许有一个子控件,子控件能是任何view,使用的时候,所在

Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表

本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码太多,点击此处下载,自己调试一下. 下载 Demo 环境 Windows 2008 R2 64 位 Eclipse ADT V22.6.2,Android 4.4.3 SAMSUNG GT-I9008L,Android OS 2.2.2 测试数据 本演示的歌曲信息,共有 20 条,包括歌手名.歌曲名.时长.缩

IOS 开发下拉刷新和上拉加载更多

IOS 开发下拉刷新和上拉加载更多 简介 1.常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTTableViewrefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 2.AH3DPullRefresh实现下拉刷新和上拉下载的步骤 添加UIScrollView+AH3DPullRefresh.h 和UIScrollView+AH3DPullRefresh.m两个文件,由此可知,它是基于UIScrollView的方法. 在bu

iOS下拉刷新和上拉刷新

在iOS开发中,我们经常要用到下拉刷新和上拉刷新来加载新的数据,当前这也适合分页.iOS原生就带有该方法,下面就iOS自带的下拉刷新方法来简单操作. 上拉刷新 1.在TableView里,一打开软件,我们就调用下拉刷新事件. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 - (void)viewDidLoad {     [super viewDidLoad];     // 集成刷新控件     [self set