KRProgressHUD 3.4.8

KRProgressHUD 3.4.8

测试已测试
语言编程语言 SwiftSwift
许可证 MIT
发布日期最新版本发布日期2024 年 3 月
SPM支持 SPM

Krimpedance 维护。



  • 作者:
  • krimpedance

日语

Version License Platform Download Carthage compatible CI Status

KRProgressHUD 是一个美观的、易于使用的 iOS 进度 HUD,由 Swift 编写。

KRActivityIndicatorView 用于加载视图。

功能

  • 圆形指示器
  • 指示器颜色可自定义

要求

  • iOS 9.0+
  • Xcode 12.0+
  • Swift 5.3+

示例

要运行示例项目,克隆仓库,然后从 DEMO 目录中打开 KRProgressHUDDemo.xcodeproj

appetize.io

安装

KRProgressHUD 可以通过 CocoaPodsCarthage 获得。要安装它,只需将以下行添加到您的 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文件。