JGProgressHUD
一个为 iOS 和 tvOS 定制的优雅且简单的进度 HUD。 支持 Swift 和 Objective-C!
概览
最终的性能 HUD for iOS 和 tvOS:JGProgressHUD!
- 直接使用:简单集成,易于使用,只需寥寥几行代码。
- 轻松自定义(自定义动画、指示视图等等)。
- 使用
UIVisualEffectView
和UIMotionEffect
来实现原生外观。 - 使用 AutoLayout 提供完全动态的布局。
- 检测并重新定位键盘出现/消失时的状态。
- 支持暗黑模式 — 自动改变外观。
- 文档齐全且维护良好。
- 支持 Voice Over/
UIAccessibility
。 - 向后兼容 iOS 8。
- 支持 Swift 和 Objective-C。
- 最重要的是,它看起来很好!
下载源代码并打开 实例 项目来测试 JGProgressHUD 并查看其所有功能的操作。
JGProgressHUD 也可以与 SwiftUI 一起使用。查看 JGProgressHUD-SwiftUI。
实例
显示不确定进度
Objective-C
JGProgressHUD *HUD = [[JGProgressHUD alloc] init];
HUD.textLabel.text = @"Loading";
[HUD showInView:self.view];
[HUD dismissAfterDelay:3.0];
Swift
let hud = JGProgressHUD()
hud.textLabel.text = "Loading"
hud.show(in: self.view)
hud.dismiss(afterDelay: 3.0)
这会显示一个带有活动指示器和标题“加载”的深色HUD。HUD会以淡入动画呈现,并在3秒后以淡出动画消失。
显示错误信息
JGProgressHUD *HUD = [[JGProgressHUD alloc] init];
HUD.textLabel.text = @"Error";
HUD.indicatorView = [[JGProgressHUDErrorIndicatorView alloc] init]; //JGProgressHUDSuccessIndicatorView is also available
[HUD showInView:self.view];
[HUD dismissAfterDelay:3.0];
显示确定进度
JGProgressHUD *HUD = [[JGProgressHUD alloc] init];
HUD.indicatorView = [[JGProgressHUDPieIndicatorView alloc] init]; //Or JGProgressHUDRingIndicatorView
HUD.progress = 0.5f;
[HUD showInView:self.view];
[HUD dismissAfterDelay:3.0];
有关更多示例,包括Swift示例,请参阅示例。
重要:您应始终在UIViewController
视图中显示JGProgressHUD
。
自定义
样式
JGProgressHUD 可以以3种风格显示
- 超浅色
- 浅色
- 深色
样式也可以根据当前的UITraitCollection
(深色模式)自动设置。使用初始化器[[JGProgressHUD alloc] init]
/JGProgressHUD()
来利用自动样式。
指示视图
默认情况下,HUD将显示一个不确定的进度指示器。可以通过将indicatorView
属性设置为nil
来完全隐藏指示器视图。以下指示器视图默认可用:
- 不确定的进度指示器
- 饼图进度指示器
- 环形进度指示器
- 成功指示器
- 错误指示器
- 图像指示器
可以通过继承JGProgressHUDIndicatorView
来创建自定义指示器视图。
动画
默认情况下,HUD将使用淡入淡出动画。可以修改一些参数,如动画持续时间或动画曲线。可以选择不使用动画显示HUD,并使用不同的动画。以下动画默认可用:
- 淡入淡出
- 缩放和淡入淡出
可以通过继承JGProgressHUDAnimation
来创建自定义动画。
要降低HUD背后内容的亮度,请将您的暗色设置为JGProgressHUD
实例的backgroundColor
。
安装
Swift包管理器
在Xcode中,使用菜单文件 > Swift包 > 添加包依赖...并输入包URL https://github.com/JonasGessner/JGProgressHUD.git
。
这是安装JGProgressHUD的推荐方式。
Carthage
在您的Cartfile
中添加:
github "JonasGessner/JGProgressHUD"
CocoaPods
在您的Podfile
中添加:
pod 'JGProgressHUD'
手动安装
- 将
JGProgressHUD.xcodeproj
文件拖拽到你的 Xcode 工程中。 - 在 "General" 选项卡的 "Embedded Binaries" 中添加
JGProgressHUD.framework
。
安装后,将模块导入到希望使用的位置。
@import JGProgressHUD;
Swift
import JGProgressHUD
查看 示例 项目以了解 JGProgressHUD 作为框架的实现示例。
要求
- 基础 SDK 为 iOS/tvOS/macCatalyst 13.0 或更高版本。
- 部署目标为 iOS 8.0, tvOS 9.0, macCatalyst 13.0 或更高版本。
JGProgressHUD 也可以用于 Swift 编写的项目。有关详情,请参阅 安装。
文档
详细文档可以在 此处 找到。
每个类和方法都经过了良好的文档说明,便于快速了解概览。要开始,请查看 JGProgressHUD.h。
许可证
MIT 许可证。
© 2014-2020, Jonas Gessner。
致谢
由 Jonas Gessner 创建和维护,© 2014-2020。