DGActivityIndicatorView实战:网络请求Loading遮罩与全局加载动画封装
【免费下载链接】DGActivityIndicatorViewDGActivityIndicatorView is a great way to make loading spinners in your application look nicer. It contains 32 different indicator view styles.项目地址https://gitcode.com/gh_mirrors/dg/DGActivityIndicatorView点击查看免费下载DGActivityIndicatorView 是一款专为 iOSObjective-C打造的加载动画库内置32 种精美 loading 样式帮你快速为 App 添加网络请求 Loading 遮罩和全局加载动画彻底告别原生 UIActivityIndicatorView 的单调。 为什么需要加载动画库App 发起网络请求时用户最怕没反应——不知道是卡住了还是在加载。一个清晰的 loading 提示能显著提升体验。但原生UIActivityIndicatorView样式单一而 DGActivityIndicatorView 一个库就给你 32 种可选动画特性说明 动画数量32 种含九宫格点、三圈脉冲、沙漏旋转等️ 自定义能力可自由设置类型、颜色、尺寸随时切换⚙️ 底层技术基于CALayer与 Core Animation流畅省电 接入成本一行 CocoaPods 命令或把源码文件夹拖进工程即可 系统要求iOS 7.0Xcode 6支持 ARC它的核心入口就是 DGActivityIndicatorView.h所有 32 种动画类型都以枚举形式集中定义一目了然typedef NS_ENUM(NSUInteger, DGActivityIndicatorAnimationType) { DGActivityIndicatorAnimationTypeNineDots, // 九点阵列 DGActivityIndicatorAnimationTypeTriplePulse, // 三环脉冲 DGActivityIndicatorAnimationTypeBallPulse, // 小球脉冲 DGActivityIndicatorAnimationTypeRotatingSandglass, // 沙漏旋转 // …共 32 种 }; 一键安装两种接入方式方式一CocoaPods 安装推荐在项目的 Podfile 中添加依赖后执行安装命令pod DGActivityIndicatorView pod install方式二手动集成直接把DGActivityIndicatorView源码文件夹拖入工程并引入头文件即可。源码文件不多核心就集中在 DGActivityIndicatorView/DGActivityIndicatorView/ 目录下git clone https://gitcode.com/gh_mirrors/dg/DGActivityIndicatorView 4步上手显示一个加载动画API 设计得非常直白四步走// 1. 创建实例指定动画类型、颜色、尺寸 DGActivityIndicatorView *indicator [[DGActivityIndicatorView alloc] initWithType:DGActivityIndicatorAnimationTypeDoubleBounce tintColor:[UIColor whiteColor] size:20.0f]; // 2. 设置 frame indicator.frame CGRectMake(0.0f, 0.0f, 50.0f, 50.0f); // 3. 添加到视图 [self.view addSubview:indicator]; // 4. 开始动画 [indicator startAnimating];关键 API 只有三个startAnimating/stopAnimating控制动画开关type动画类型可随时修改动画会自动重建见 DGActivityIndicatorView.m 中的setType:实现tintColor/size颜色和尺寸默认 40pt 白色 实战一网络请求 Loading 遮罩最典型的使用场景请求发出时展示全屏半透明遮罩 动画回调回来后移除。- (void)showLoadingMask { UIView *mask [[UIView alloc] initWithFrame:self.view.bounds]; mask.backgroundColor [UIColor colorWithWhite:0 alpha:0.4]; [self.view addSubview:mask]; DGActivityIndicatorView *indicator [[DGActivityIndicatorView alloc] initWithType:DGActivityIndicatorAnimationTypeBallClipRotatePulse tintColor:[UIColor whiteColor] size:40.0f]; indicator.center mask.center; [mask addSubview:indicator]; [indicator startAnimating]; self.loadingMask mask; } - (void)dismissLoadingMask { [self.loadingMask.subviews enumerateObjectsUsingBlock:^(__kindof UIView *v, NSUInteger i, BOOL *stop) { if ([v isKindOfClass:[DGActivityIndicatorView class]]) [(DGActivityIndicatorView *)v stopAnimating]; }]; [self.loadingMask removeFromSuperview]; self.loadingMask nil; }发起请求时调用showLoadingMask在成功/失败回调中都调用dismissLoadingMask就能保证无论请求快慢都不会出现遮罩卡死的问题记得网络层要统一处理成功与失败两条路径。 实战二封装全局加载动画每个页面都要复制一遍遮罩代码太繁琐更好的做法是给UIViewController加一个类别封装成全局 APIinterface UIViewController (Loading) - (void)dg_showLoading:(DGActivityIndicatorAnimationType)type; - (void)dg_dismissLoading; end实现就是把上面的遮罩逻辑搬进类别里并在view上管理一个全局单例遮罩。之后任何页面都只需一行[self dg_showLoading:DGActivityIndicatorAnimationTypeRotatingSandglass]; // 请求完成 [self dg_dismissLoading]; 小技巧全局封装建议做成单例遮罩同一时间只存在一个避免多个请求并发时遮罩层层叠加。 32 种动画怎么选仓库自带的示例工程把所有动画排成了 7×5 的预览墙打开运行即可查看每一种的实际效果见 ViewController.m 中的activityTypes数组。选择建议使用场景推荐动画类型理由全屏请求遮罩BallClipRotatePulse/TripleRings圆形线条中心留白辨识度高列表刷新、短加载NineDots/BallPulse点阵呼吸感轻巧不抢眼耗时操作上传/导出RotatingSandglass/LineScalePulseOut节奏明确暗示需要耐心深色背景BallRotate白色 tintColor线条简洁对比强烈想自己扩展动画只需让新类实现 DGActivityIndicatorAnimationProtocol.h 中的协议方法setupAnimationInLayer:withSize:tintColor:并在 DGActivityIndicatorView.m 的工厂方法里注册即可。所有动画类共享的动画基类见 DGActivityIndicatorAnimation.h。⚠️ 常见坑与注意事项别忘了停止stopAnimating会在停止时隐藏视图请求超时或取消时同样要调用否则用户会看到一直转的动画。主线程调用视图操作必须在主线程网络回调若不在主线程请先 dispatch 回主线程。尺寸与 frame动画尺寸由size参数决定内部绘制外层frame控制占位两者建议一致。依赖说明库仅依赖 UIKit / Foundation包体积极小见 DGActivityIndicatorView.podspec。 总结DGActivityIndicatorView 用极小的体积解决了 iOS 加载体验的颜值问题32 种动画、4 行代码上手、1 行依赖接入。配合本文的网络请求遮罩 全局封装两个实战方案你可以快速为项目搭建统一、专业的加载体验。更多细节可查阅官方说明 README.md。赞分享【免费下载链接】DGActivityIndicatorViewDGActivityIndicatorView is a great way to make loading spinners in your application look nicer. It contains 32 different indicator view styles.项目地址https://gitcode.com/gh_mirrors/dg/DGActivityIndicatorView点击查看免费下载相关推荐Metro UI CSS Activity 组件实战指南七种加载动画、全局遮罩与 CSS 变量定制Metro UI CSS Activity 组件实战指南七种加载动画、全局遮罩与 CSS 变量定制 Activity 是 Metro UI CSS 框架内置的前端UI组件element-react Loading 加载组件实战指南容器内加载、自定义文案与全屏遮罩element react Loading 加载组件实战指南容器内加载、自定义文案与全屏遮罩 本指南以 Loading 加载文档 https://link.g前端UI组件设计系统AzerothCore 自建 WotLK 私服先跑通最小闭环AzerothCore 自建 WotLK 私服先跑通最小闭环 凌晨两点你盯着 WoW 登录界面上排队 300的数字朋友的电脑连 3.3.5a 客户端游戏开发后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

县城外卖平台怎么设置商家抽成比例:从费率拆分到系统后台配置

县城外卖平台怎么设置商家抽成比例:从费率拆分到系统后台配置

县城外卖平台设置商家抽成比例,建议把“抽成”拆成平台技术服务费与履约配送费两部分分别设置:技术服务费按配送方式与品类分档,配送费按距离和时段单独计价,再在系统后台用费率模板、计费基数、保底扣费和账单分项落地&#xff0…

2026/10/11 17:22:15 阅读更多 →
变频器厂真空回流炉选型复盘:从焊不牢到批量稳产

变频器厂真空回流炉选型复盘:从焊不牢到批量稳产

去年秋天,我跟着一位老工艺工程师去华东一家变频器制造厂做回访。他们刚上了一套真空回流炉,产线跑了大半年,这次去主要是看看设备在批量生产中的实际状态。车间里,几台功率模块正从炉膛里缓缓送出,焊层表面均匀发亮&a…

2026/10/11 17:22:15 阅读更多 →
YOLOv3+CTPN+CRNN三段式OCR pipeline工业落地实践

YOLOv3+CTPN+CRNN三段式OCR pipeline工业落地实践

简介:本资源是一套面向深度学习初学者与计算机视觉从业者的自然场景OCR实战项目,聚焦于复杂背景下的文字检测与识别难题,适用于车牌识别、广告牌提取、电子票据处理等真实业务场景。项目采用YOLOv3(负责文字区域粗定位&#xff09…

2026/10/11 17:22:15 阅读更多 →

最新新闻

Linux线程同步指南:从互斥锁、条件变量到生产者消费者模型

Linux线程同步指南:从互斥锁、条件变量到生产者消费者模型

1. 一条计数器的崩溃现场:竞态条件到底怎么回事上一周我在调一个批量图片压缩工具,开了四个线程同时去处理任务队列,结果跑出来的图片里有好几张是花的,还有一次直接段错误。我排查了很久,最后定位到问题根源不在压缩算…

2026/10/11 18:05:40 阅读更多 →
测试环境搭建全攻略:CentOS 7与Ubuntu 20.04双版本一键部署与Docker化实践

测试环境搭建全攻略:CentOS 7与Ubuntu 20.04双版本一键部署与Docker化实践

做测试环境搭建这事儿,看着不难,但坑是真不少。同一个部署文档,在 CentOS 7 上执行得顺顺利利,换到 Ubuntu 20.04 上就报错,或者反过来亦然——包管理器不同、软件源格式不同、防火墙规则不同、服务管理方式也不同。我…

2026/10/11 18:05:40 阅读更多 →
1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水

1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水

1011星里有多少是「真需求」?我给爆火的技能包泼盆冷水 【免费下载链接】golive-skill Take your agent-built product live: hosting, database, domain, email, payments — on your own accounts. Open-source Agent Skill zero-dependency Node CLI: detect →…

2026/10/11 18:04:40 阅读更多 →
零售企业“细节标准体系“的观察样本:一位董事长的胖东来研学笔记

零售企业“细节标准体系“的观察样本:一位董事长的胖东来研学笔记

本文基于上海鼎学甄选教育科技有限公司董事长阿甘在稻百年胖东来研学(许昌)课后采访整理,提取其口述中的观察维度与参照系,供零售与连锁企业参考。1. 观察对象:非销售性投入的密度 受访人:阿甘,…

2026/10/11 18:04:40 阅读更多 →
ComfyUI+AnimateDiff+ControlNet:从零搭建可控动画工作流

ComfyUI+AnimateDiff+ControlNet:从零搭建可控动画工作流

简介:面向ComfyUI生态的动画生成实战资源包,围绕AnimateDiff与ControlNet的OpenposeDepth组合,展示从姿态与深度控制到逐帧动画输出的完整链路,适合熟悉Stable Diffusion基础、希望进阶学习可控动画生成的研究者与创作者&#xff…

2026/10/11 18:04:40 阅读更多 →
OpenCV图像处理到深度学习推理:滤波、特征匹配与轮廓分析实战指南

OpenCV图像处理到深度学习推理:滤波、特征匹配与轮廓分析实战指南

简介:面向计算机视觉开发者和入门学员,这份PDF系统梳理了OpenCV从基础图像处理到深度学习集成的完整知识路径。文档以core、imgproc、objdetect等核心模块为线索,具体介绍图像读取与保存、颜色空间转换、几何变换等基础操作;滤波部…

2026/10/11 18:04:40 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →