cocoa podsでインポートしたKRProgressHUDを使う。

KRProgressHUDを実装する

※ CocoaPodsの初期設定方法についてはCocoaPodsのインストールと外部ライブラリのインポートの方法をご覧ください。

※ HUDとして有名なSVProgressHUDはXcode11では現在対応していないため、Xcode11に対応しているKRProgressHUDを代替として使うのが良さそうです。

Xcodeを開いた状態で、プロジェクトツリーよりPodsの中にあるPodfileをクリックして内容を編集します。

/images/uploads/20200505065620.png

以下のような形にします。もし他のライブラリを使用している場合には、追記する形で記述しましょう。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'Frog9' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Frog9
  pod 'KRProgressHUD'
  
end

ターミナルを開き、「pod install」を実行します。インストールが成功すればOKです。

/images/uploads/20200505065522.png

ViewControllerでKRProgressHUDを使ってみる

/images/uploads/20200505065854.png

まずは、基本的なローディングを表示してみましょう。

import UIKit
import KRProgressHUD

class ViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    
    KRProgressHUD.show()

  }
  
}

以下のようにぐるぐる回るローディング画面が1行で実現できました。

/images/uploads/20200505070940.png

また、メッセージも追加し、ローディング完了したら実行する処理の書き方は以下のようなもので実現できます。

    KRProgressHUD.show(withMessage: "読み込み中") {
       print("完了時の処理")
    }

/images/uploads/20200505070940.png

他の使い方

「メッセージを表示して消す」という挙動も簡単に実装ができます。表示されるアイコンは用意されているので、コードの記述だけでOKです。

メッセージ

KRProgressHUD.showMessage("メッセージ")

/images/uploads/20200505070153.png

成功

KRProgressHUD.showSuccess()

/images/uploads/20200505070224.png

KRProgressHUD.showSuccess(withMessage: "成功")

/images/uploads/20200505070304.png

お知らせ

KRProgressHUD.showInfo()

/images/uploads/20200505070143.png

KRProgressHUD.showInfo(withMessage: "お知らせ")

/images/uploads/20200505070340.png

警告

KRProgressHUD.showWarning()

/images/uploads/20200505070132.png

KRProgressHUD.showWarning(withMessage: "警告")

/images/uploads/20200505070407.png

エラー

KRProgressHUD.showError()

/images/uploads/20200505070139.png

KRProgressHUD.showError(withMessage: "エラー")

/images/uploads/20200505070435.png

オリジナル画像を挿入

CGSizeが効いていないかもしれませんがカスタムで自分の用意したオリジナル画像を表示させることもできます。

※ 画像はXcodeにインポートしておく

KRProgressHUD.showImage(UIImage(named: "frog9")!, size: CGSize(width: 100, height: 100))

/images/uploads/20200505072307.png

KRProgressHUD.showImage(UIImage(named: "frog9")!, size: CGSize(width: 100, height: 100), message: "メッセージ")

/images/uploads/20200505072311.png

もっと詳しい使用方法についてはGithubを参照ください。

KRProgressHUD


Category