Skip to content

Latest commit

 

History

History
187 lines (136 loc) · 6.06 KB

README_Ja.md

File metadata and controls

187 lines (136 loc) · 6.06 KB

English

Version License Platform Download Carthage compatible CI Status

KRProgressHUDは, Swiftで書かれた綺麗で使いやすいローディング画面を表示するライブラリです.

インジケータにはKRActivityIndicatorViewを使用しています.

特徴

  • 丸いインジケータ
  • カラーのカスタマイズ性

必要環境

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

デモ

DEMO/以下にあるサンプルプロジェクトから確認してください.

または, Appetize.ioにてシュミレートしてください.

インストール

KRProgressHUDはCocoaPodsCarthageで インストールすることができます.

# Podfile
pod "KRProgressHUD"
# Cartfile
github "Krimpedance/KRProgressHUD"

使い方

(/Demo以下のサンプルを見てみてください)

注意 :

このライブラリは同期通信のようなユーザの操作を止めて処理を行うときなどに使用してください

PullRefreshなど, 他の場面で使用したい場合は, KRActivityIndicatorViewを使用することをお勧めします

KRProgressHUDはシングルトンパターンで作られています.

まず, KRProgressHUDをインポートします.

GCDを使用した一番簡単な表示:

KRProgressHUD.show()

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {
   KRProgressHUD.dismiss()
}

HUDの表示

class func show(withMessage message:String? = nil, completion: CompleteHandler? = nil)

// 例
KRProgressHUD.show()
KRProgressHUD.show(withMessage: "Loading...")
KRProgressHUD.show(withMessage: "Loading...") {
   print("Complete handler")
}

ViewController上に表示

もしViewController上にHUDを表示したいときは, showOn() で設定してください.

この設定は一度だけ適用されます.

  KRProgressHUD.showOn(viewController).show()

HUDを閉じる前に, 成功やエラーなどの情報をアイコン付きで表示することもできます. (表示は1秒間. 秒数は設定可能です.)

class func showSuccess()
class func showInfo()
class func showWarning()
class func showError()
class func showImage() // 好きな画像を設定できます. (最大サイズは50x50です)

メッセージだけのHUDを表示

public class func showMessage(_ message: String)

// 例
KRProgressHUD.showText("完了しました! \n 早速始めましょう!")

HUDのメッセージの更新

パーセンテージの表示などのために, メッセージの更新メソッドがあります.

class func update(text: String)

// 例
KRProgressHUD.update(text: "20%")

HUDを閉じる

HUDを閉じるときは, 以下を実行します.

class func dismiss(_ completion: CompleteHandler? = nil)

カスタマイズ

KRProgressHUD.appearance() では, 標準のスタイルを設定できます.

class KRProgressHUDAppearance {
   /// HUDのスタイル.
   public var style = KRProgressHUDStyle.white
   /// マスクタイプ
   public var maskType = KRProgressHUDMaskType.black
   /// ローディングインジケータのグラデーションカラー
    public var activityIndicatorColors = [UIColor]([.black, .lightGray])
   /// ラベルのフォント
   public var font = UIFont.systemFont(ofSize: 13)
   /// HUDのセンター位置
   public var viewCenterPosition = CGPoint(x: UIScreen.main.bounds.width/2, y: UIScreen.main.bounds.height/2)
   /// 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(centerPosition point: CGPoint) -> KRProgressHUD.Type
@discardableResult public class func set(duration: Double) -> KRProgressHUD.Type


// 例
KRProgressHUD
   .set(style: .custom(background: .blue, text: .white, icon: nil))
   .set(maskType: .white)
   .show()

set() で設定したスタイルは以下の関数でリセットできます.

@discardableResult public class func resetStyles() -> KRProgressHUD.Type

ライブラリに関する質問等

バグや機能のリクエストがありましたら, 気軽にコメントしてください.

リリースノート

  • 3.4.8 :

    • PrivacyInfo.xcprivacy を追加
  • 3.4.7 :

    • iOS 11 以下をサポート

ライセンス

KRProgressHUDはMITライセンスに準拠しています.

詳しくはLICENSEファイルをみてください.