iOS利用MJRefresh实现自定义刷新动画效果

发布时间 - 2026-01-10 22:57:30    点击率:

本文主要介绍iOS 利用MJRefresh实现自定义动画的上拉刷新下拉加载效果,一般的类型(包括更新时间与loading图案)这里不做介绍.

要想实现此功能,首先得有一套load的图片数组.

接下来就是实现过程:

引入头文件:

#import "MJRefresh.h"
//自定义一个方法实现
- (void)prepareRefresh
{
 NSMutableArray *headerImages = [NSMutableArray array];
 for (int i = 1; i <= 4; i++) {
  UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@"topload%d",i]];
  [headerImages addObject:image];
 }
 MJRefreshGifHeader *gifHeader = [MJRefreshGifHeaderheaderWithRefreshingBlock:^{
//下拉刷新要做的操作.
 }];
 gifHeader.stateLabel.hidden = YES;
 gifHeader.lastUpdatedTimeLabel.hidden = YES;
 [gifHeader setImages:@[headerImages[0]]forState:MJRefreshStateIdle];
 [gifHeader setImages:headerImages forState:MJRefreshStateRefreshing];
 _tableView.header = gifHeader;
 NSMutableArray *footerImages = [NSMutableArray array];
 for (int i = 1; i <= 4; i++) {
  UIImage *image = [UIImage imageNamed:[NSStringstringWithFormat:@"footerload%d",i]];
  [footerImages addObject:image];
 }
 MJRefreshAutoGifFooter *gifFooter = [MJRefreshAutoGifFooterfooterWithRefreshingBlock:^{
//上拉加载需要做的操作.
 }];
 gifFooter.stateLabel.hidden = YES;
 gifFooter.refreshingTitleHidden = YES;
 [gifFooter setImages:@[footerImages[0]]forState:MJRefreshStateIdle];
 [gifFooter setImages:footerImages forState:MJRefreshStateRefreshing];
 _tableView.footer = gifFooter;
}

最后记得在数据加载完成时停掉loading

  [_tableView.header endRefreshing];//下拉刷新数据完成时写上
  [_tableView.footer endRefreshing];//上拉加载数据完成时写上

以上所述是小编给大家介绍的iOS利用MJRefresh实现自定义刷新动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # 自定义刷新动画  # iOS开发之自定义图片拉伸功能  # iOS实现自定义起始时间选择器视图  # iOS自定义日期、时间、城市选择器实例代码  # iOS开发-自定义相机实例(仿微信)  # iOS自定义UIScrollView的滚动条实例代码  # iOS中UITableView Cell实现自定义单选功能  # iOS实现自定义日期选择器示例  # IOS中自定义类中限制使用原生实例化方法  # 自定义  # 加载  # 写上  # 小编  # 更新时间  # 在此  # 要想  # 要做  # 给大家  # 不做  # 所述  # 给我留言  # 有一套  # 感谢大家  # 疑问请  # 有任何  # 头文件  # void  # NSMutableArray  # prepareRefresh 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251811 】 【 AI营销90571


相关推荐: Laravel如何实现本地化和多语言支持?(i18n教程)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel中的withCount方法怎么高效统计关联模型数量  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速搭建自助建站会员专属系统?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  免费视频制作网站,更新又快又好的免费电影网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  JS去除重复并统计数量的实现方法  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何使用查询构建器?(Query Builder高级用法)  javascript中对象的定义、使用以及对象和原型链操作小结  如何在橙子建站中快速调整背景颜色?  智能起名网站制作软件有哪些,制作logo的软件?  如何在阿里云部署织梦网站?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  简单实现Android文件上传  如何基于PHP生成高效IDC网络公司建站源码?  Java遍历集合的三种方式  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  魔毅自助建站系统:模板定制与SEO优化一键生成指南  深圳网站制作的公司有哪些,dido官方网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何在万网ECS上快速搭建专属网站?  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  如何用PHP工具快速搭建高效网站?  七夕网站制作视频,七夕大促活动怎么报名?  js实现点击每个li节点,都弹出其文本值及修改  如何在阿里云购买域名并搭建网站?  Laravel如何实现用户密码重置功能?(完整流程代码)  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何快速选择适合个人网站的云服务器配置?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  详解vue.js组件化开发实践  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  MySQL查询结果复制到新表的方法(更新、插入)  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何使用Vite进行前端资源打包?(配置示例)  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  个人网站制作流程图片大全,个人网站如何注销?  Android使用GridView实现日历的简单功能