KRProgressHUD
是一个美观的、易于使用的 iOS 进度 HUD,由 Swift 编写。
KRActivityIndicatorView 用于加载视图。
功能
- 圆形指示器
- 指示器颜色可自定义
要求
- iOS 9.0+
- Xcode 12.0+
- Swift 5.3+
示例
要运行示例项目,克隆仓库,然后从 DEMO 目录中打开 KRProgressHUDDemo.xcodeproj
。
安装
KRProgressHUD 可以通过 CocoaPods 和 Carthage 获得。要安装它,只需将以下行添加到您的 Podfile 或 Cartfile 即可:
# CocoaPods
pod "KRProgressHUD"
# Carthage
github "Krimpedance/KRProgressHUD"
使用方式
(请参阅 /Demo 中的示例 Xcode 项目)
注意事项
仅在您绝对需要在用户前进之前执行任务时使用。
如果您想在其他情况下使用(例如下拉刷新),建议使用 KRActivityIndicatorView。
KRProgressHUD
被创建为一个单例。
首先,在 swift 文件中导入 KRProgressHUD
。
显示简单 HUD
KRProgressHUD.show()
DispatchQueue.main.asyncAfter(deadline: .now()+1) {
KRProgressHUD.dismiss()
}
显示 HUD
class func show(withMessage message:String? = nil, completion: CompleteHandler? = nil)
// Example
KRProgressHUD.show()
KRProgressHUD.show(withMessage: "Loading...")
KRProgressHUD.show(withMessage: "Loading...") {
print("Complete handler")
}
在 ViewController 中显示
如果您想在视图中显示 HUD,设置 showOn()
。
(这仅应用一次)
KRProgressHUD.showOn(viewController).show()
在稍后关闭前显示确认符号。(默认显示时间为 1 秒。您可以更改时间)
class func showSuccess()
class func showInfo()
class func showWarning()
class func showError()
class func showImage() // This can set custom image. (Max size is 50x50)
显示 HUD(仅消息)
public class func showMessage(_ message: String)
// Example
KRProgressHUD.showMessage("Completed! \n Let's start!")
更新 HUD 的消息
HUD 可以更新消息。
class func update(message: String)
// Example
KRProgressHUD.update(message: "20%")
关闭 HUD
可以使用以下方式关闭 HUD:
class func dismiss(_ completion: CompleteHandler? = nil)
自定义
KRProgressHUD.appearance()
可以设置默认样式。
class KRProgressHUDAppearance {
/// Default style.
public var style = KRProgressHUDStyle.white
/// Default mask type.
public var maskType = KRProgressHUDMaskType.black
/// Default KRActivityIndicatorView colors
public var activityIndicatorColors = [UIColor]([.black, .lightGray])
/// Default message label font.
public var font = UIFont.systemFont(ofSize: 13)
/// Default HUD center offset of y axis.
public var viewOffset = CGFloat(0.0)
/// Default duration to show HUD.
public var duration = Double(1.0)
}
如果您想只在某些特定情况下反映样式,请使用以下方法。
@discardableResult public class func set(style: KRProgressHUDStyle) -> KRProgressHUD.Type
@discardableResult public class func set(maskType: KRProgressHUDMaskType) -> KRProgressHUD.Type
@discardableResult public class func set(activityIndicatorViewColors colors: [UIColor]) -> KRProgressHUD.Type
@discardableResult public class func set(font: UIFont) -> KRProgressHUD.Type
@discardableResult public class func set(viewOffset offset: CGFloat) -> KRProgressHUD.Type
@discardableResult public class func set(duration: Double) -> KRProgressHUD.Type
// Example
KRProgressHUD
.set(style: .custom(background: .blue, text: .white, icon: nil))
.set(maskType: .white)
.show()
这些set()
设置可以通过以下方式重置:
@discardableResult public class func resetStyles() -> KRProgressHUD.Type
为该项目做出贡献
我在寻找错误报告和特性请求。
版本说明
-
3.4.7 :
- 支持iOS 11及以下版本
-
3.4.6 :
- 适用于Xcode 12的更新
许可
KRProgressHUD遵循MIT许可。
更多信息请参见LICENSE文件。