SVProgressHUD 技术文档
1. 安装指南
Swift Package Manager
使用 Swift Package Manager (SwiftPM) 可以简化 Swift 代码的分布式管理。
要在项目中集成 SVProgressHUD
,请按照以下步骤操作:
- 在 Xcode 中,选择 文件 > 添加包依赖。
- 输入以下包仓库 URL:
https://github.com/SVProgressHUD/SVProgressHUD.git
- 选择合适的版本(例如特定版本、分支或提交)。
- 将
SVProgressHUD
添加到您的目标依赖中。
SVProgressHUD
需要 Swift 工具版本 5.3 或更高。
CocoaPods
CocoaPods 是一个 Objective-C 的依赖管理工具,它自动化并简化了在项目中使用第三方库的过程。
首先,在您的 Podfile 中添加以下行:
pod 'SVProgressHUD'
如果您想使用 SVProgressHUD
的最新功能,请使用正常的外部源依赖。
pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git'
这会直接从 master
分支拉取。
然后,安装 SVProgressHUD
到您的项目中:
pod install
Carthage
Carthage 是一个去中心化的依赖管理器,它构建您的依赖并提供二进制框架。
要在 Xcode 项目中使用 Carthage 集成 SVProgressHUD
,请在您的 Cartfile
中指定:
github "SVProgressHUD/SVProgressHUD"
运行 carthage bootstrap
来在您的仓库 Carthage 目录中构建框架。然后您可以在目标的 carthage copy-frameworks
构建阶段中包含它。更多相关信息,请查看 Carthage 的文档。
手动安装
- 将
SVProgressHUD/SVProgressHUD
文件夹拖入您的项目。 - 确保
SVProgressHUD.bundle
被添加到Targets->Build Phases->Copy Bundle Resources
。 - 将 QuartzCore 框架添加到您的项目中。
2. 项目使用说明
SVProgressHUD
是一个单例模式(即不需要显式分配和实例化;直接调用 [SVProgressHUD method]
/ SVProgressHUD.method()
)。
请明智地使用 SVProgressHUD
!仅在您确实需要在用户前进之前执行任务时使用它。不恰当的使用案例包括:下拉刷新、无限滚动、发送消息。
在您的应用中使用 SVProgressHUD
通常如下所示:
Objective-C:
[SVProgressHUD show];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// 耗时任务
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
});
});
Swift:
SVProgressHUD.show()
DispatchQueue.global(qos: .default).async {
// 耗时任务
DispatchQueue.main.async {
SVProgressHUD.dismiss()
}
}
显示 HUD
您可以使用以下方法之一来显示不确定任务的状态:
+ (void)show;
+ (void)showWithStatus:(NSString*)string;
如果您希望 HUD 反映任务的进度,请使用以下方法之一:
+ (void)showProgress:(CGFloat)progress;
+ (void)showProgress:(CGFloat)progress status:(NSString*)status;
隐藏 HUD
HUD 可以使用以下方法之一来隐藏:
+ (void)dismiss;
+ (void)dismissWithDelay:(NSTimeInterval)delay;
如果您想堆叠 HUD,可以平衡每次显示调用:
+ (void)popActivity;
当 popActivity
调用次数与显示调用次数相匹配时,HUD 将被隐藏。
或者在稍后显示带有状态信息的图像。显示时间取决于 minimumDismissTimeInterval
和给定字符串的长度。
+ (void)showInfoWithStatus:(NSString*)string;
+ (void)showSuccessWithStatus:(NSString*)string;
+ (void)showErrorWithStatus:(NSString*)string;
+ (void)showImage:(UIImage*)image status:(NSString*)string;
3. 项目 API 使用文档
SVProgressHUD
提供了多种方法来显示和隐藏 HUD,以及自定义其外观和行为。
show
: 显示一个没有状态的 HUD。showWithStatus
: 显示一个带有指定状态的 HUD。showProgress
: 显示一个带有进度条的 HUD。showProgress:status
: 显示一个带有进度条和指定状态的 HUD。dismiss
: 隐藏 HUD。dismissWithDelay
: 在指定的延迟后隐藏 HUD。popActivity
: 平衡显示调用,以堆叠 HUD。
更多方法和详细说明,请参考 SVProgressHUD.h
头文件。
4. 项目安装方式
请参考上述“安装指南”部分,选择适合您项目的安装方式:Swift Package Manager、CocoaPods、Carthage 或手动安装。
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava00
- open-eBackupopen-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。HTML051
- 每日精选项目🔥🔥 12.25日推荐:优秀 LLM 应用程序集合🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~017
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie039
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0102
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML012
- excelizehttps://github.com/xuri/excelize Excelize 是 Go 语言编写的一个用来操作 Office Excel 文档类库,基于 ECMA-376 OOXML 技术标准。可以使用它来读取、写入 XLSX 文件,相比较其他的开源类库,Excelize 支持操作带有数据透视表、切片器、图表与图片的 Excel 并支持向 Excel 中插入图片与创建简单图表,目前是 Go 开源项目中唯一支持复杂样式 XLSX 文件的类库,可应用于各类报表平台、云计算和边缘计算系统。Go02