【Swift UIKit】UIActivityIndicatorViewの使い方

UIKitには、ユーザに処理中であることを表示する機能があります。今回は、その機能であるUIActivityIndicatorViewに関して、使い方等を解説していきたいと思います。

img 0764
アクティビティインジケーター
スポンサーリンク

全体のコード

まず、UIActivityIndicatorViewを活用したぐるぐる表示の全体コードを下記に記載します。

let activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
activityIndicator.center = view.center
activityIndicator.color = UIColor.white
activityIndicator.style = UIActivityIndicatorView.Style.large
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()// 表示開始
view.addSubview(activityIndicator)

activityIndicator.stopAnimating() // 表示終了
view.removeFromSuperview()

表示・非表示までの大まかな流れ

  1. ぐるぐる表示のデザイン、サイズ、表示位置を決める
  2. 表示を開始する・アニメーションを開始する
  3. 表示を終了する・アニメーションを終了する

ぐるぐる表示のデザイン、サイズ、表示位置等を決める

SwiftのUIKitでは、アクティビティインジケーター(ぐるぐる表示)が用意されています。

デザインや表示サイズ、表示位置を細かく指定することが出来ます。

デザイン

アクティビティインジケーターの色を決めることが出来ます。

白色を利用されるケースが多いです。白色を指定する場合は下記のようにUIColorで指定します。

activityIndicator.color = UIColor.white

サイズ

アクティビティインジケーターは表示サイズが2つ用意されています。

・標準サイズ

activityIndicator.style = UIActivityIndicatorView.Style.medium
img 0763
アクティビティインジケーターの標準サイズ

・大きいサイズ

activityIndicator.style = UIActivityIndicatorView.Style.large
img 0764
アクティビティインジケーターの大きいサイズ

表示位置

アクティビティインジケーターの表示を決めることが出来ます。

一般的に表示位置は真ん中であることが多いので、下記には真ん中を指定するコードにしています。

activityIndicator.center = view.center

アニメーション停止時の動作

アクティビティインジケーターのアニメーションを停止したときに、表示したままにすることや、非表示にすることが出来ます。

アニメーションを停止したときに、非表示にする場合は、hidesWhenStoppedtrueにします。

表示したままにする場合は、falseにします。

activityIndicator.hidesWhenStopped = true

廃止されたもの(利用できなくなったもの)

下記プロパティは廃止されました。もし、プログラム内で利用されている場合は変更してください。

whiteLarge

下記コードは今は使えません。styleプロパティではサイズを指定します。白色を指定したい場合は、colorプロパティにて指定を行います。

activityIndicator.style = .whiteLarge

white

下記コードは今は使えません。styleプロパティではサイズを指定します。白色を指定したい場合は、colorプロパティにて指定を行います。

activityIndicator.style = .white

gray

下記コードは今は使えません。styleプロパティではサイズを指定します。灰色を指定したい場合は、colorプロパティにて指定を行います。

activityIndicator.style = .gray

表示を開始する・アニメーションを開始する

アクティビティインジケーターのアニメーションを開始するコードは以下の通りです。

activityIndicator.startAnimating()// 表示開始

startAnimating()でアニメーションを開始することができます。

アニメーション開始後にサブビューを追加し、実際に表示させます。

view.addSubview(activityIndicator)

表示を終了する・アニメーションを終了する

アクティビティインジケーターのアニメーションを終了するコードは以下の通りです。

activityIndicator.stopAnimating() // 表示終了

サブビューを追加して表示していた場合はサブビューも非表示にさせる必要があります。

view.removeFromSuperview()

下記記事では、SwiftUIやUIKitでロード中表示(処理中表示)を実装する方法について詳細に紹介しています。

コメント

タイトルとURLをコピーしました