英语 | 简体中文
这是一个轻量级且易于使用的 HUD,用于在 iOS 和 tvOS 上显示正在进行任务的进度和状态。
- iOS 12.0+
- tvOS 12.0+
- Xcode 14.1+
- Swift 5.7.1+
如果您正在使用 Swift 包管理器,请将依赖项添加到您的 Package.swift
文件中,并将 HUD 库导入到所需的目标中
dependencies: [
.package(url: "https://github.com/liam-i/FlyHUD.git", from: "1.5.5")
],
targets: [
.target(
name: "MyTarget", dependencies: [
.product(name: "HUD", package: "FlyHUD"), // Optional
.product(name: "HUDProgress", package: "FlyHUD"), // Optional
.product(name: "HUDIndicator", package: "FlyHUD") // Optional
])
]
如果您正在使用 Xcode,那么您应该
- 文件 > Swift 包 > 添加包依赖
- 添加
https://github.com/liam-i/FlyHUD.git
- 选择 "Up to Next Minor" 并设置为 "1.5.5"
提示
有关详细教程,请参阅: Apple 文档
如果您正在使用 CocoaPods,请将以下内容添加到您的 Podfile
source 'https://github.com/CocoaPods/Specs.git'
# Or use CND source
# source 'https://cdn.cocoapods.org/'
platform :ios, '12.0'
use_frameworks!
target 'MyApp' do
# Use the HUD, HUDIndicator and HUDProgress components.
pod 'FlyHUD', '~> 1.5.5'
# Or, just use the HUD component.
pod 'FlyHUD', '~> 1.5.5', :subspecs => ['HUD']
# Or, just use the HUD and HUDIndicator components.
pod 'FlyHUD', '~> 1.5.5', :subspecs => ['HUDIndicator']
# Or, just use the HUD and HUDProgress components.
pod 'FlyHUD', '~> 1.5.5', :subspecs => ['HUDProgress']
end
并运行 pod install
。
重要
需要 CocoaPods 1.14.3 或更新的版本。
如果您正在使用 Carthage,请将以下内容添加到您的 Cartfile
github "liam-i/FlyHUD" ~> 1.5.5
并运行 carthage update --platform iOS --use-xcframeworks
。
在您的应用程序中使用 HUD
非常简单。
- 显示不定任务的状态 HUD
let hud = HUD.show(to: view)
DispatchQueue.global().async {
// Do something...
DispatchQueue.main.async {
hud.hide()
}
}
- 显示任务的进度 HUD
let hud = HUD.show(to: view, mode: .progress(), label: "Loading")
Task.request { progress in
hud.progress = progress
} completion: {
hud.hide()
}
- 显示仅文本的状态 HUD
HUD.showStatus(to: view, label: "Wrong password")
- 显示自定义视图的状态 HUD。例如,一个 UIImageView
HUD.showStatus(to: view, mode: .custom(UIImageView(image: UIImage(named: "Checkmark")?.withRenderingMode(.alwaysTemplate))), label: "Completed")
- 显示自定义视图的状态 HUD。例如,一个 UIImageView 在左侧
HUD.showStatus(to: view, mode: .custom(UIImageView(image: UIImage(named: "warning"))), label: "You have an unfinished task.") {
$0.contentView.indicatorPosition = .leading
}
- 设置显示和隐藏 HUD 时应使用的动画。例如,样式、持续时间、阻尼
HUD.showStatus(to: view, using: .animation(.slideUpDown, damping: .default, duration: 0.3), label: "Wrong password")
- 启用键盘布局指南以跟踪键盘在您的应用布局中的位置
HUD.showStatus(to: view, label: "You have a message.") {
$0.keyboardGuide = .center()
}
注意
HUD 是一个 UI 类,因此应在主线程上访问。
有关更多示例,包括如何使用 URLSession 等异步操作以及如何自定义 HUD 样式的信息,请参阅所带的示例项目。可在此处找到广泛的 API 文档。
要运行示例项目,首先克隆仓库,然后在根目录中 cd
,并运行 pod install
。然后,在 Xcode 中打开 HUD.xcworkspace。
版本和 main
的文档在此处提供
FlyHUD 这个名字结合了 Fly
和 HUD
,并以其简洁和表达力突出。其中,Fly
意味着快速、高效和灵活,与 HUD
的实时性和即时性相一致。总的来说,FlyHUD 表达了 HUD 快速且高效展示信息和数据的能力。
- 感谢 Jonathan George 构建了 MBProgressHUD - 这里的所有想法和许多实现细节都来自他的库。
- 非常感谢Vinh Nguyen构建了NVActivityIndicatorView - 这里的许多加载动画的实现细节都来自他的库。
- 非常感谢Related Code构建了ProgressHUD - 这里的许多加载动画的实现细节都来自他的库。
FlyHUD遵循MIT许可证。有关更多信息,请参阅LICENSE文件。