XcodeでUIActivityIndicatorViewを追加する方法【初心者向け】
XcodeのUIパーツの1つである【UIActivityIndicatorView】を追加する方法について初心者向けに解説した記事です。iPhoneアプリなどで、処理中または待機中を示すために、くるくると回転して表示させることができます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
iPhoneアプリ開発では、アプリの画面を作るのに便利なUIパーツが多数用意されています。
今回は、XcodeでUIActivityIndicatorView(アクティビティインディケータービュー)を追加する方法を初心者向けに解説します。
なお本記事は、TechAcademyのiPhoneアプリ開発オンラインブートキャンプの内容をもとに紹介しています。
UIActivityIndicatorViewとは
UIActivityIndicatorViewは処理中である、または待機中である事を示すビューです。
画面の中でくるくると回転します。
UIActivityIndicatorViewの生成から非表示まで
他のUIパーツと同じように、ストーリーボードからドラッグ&ドロップで配置する事も可能です。
(表示がわかりやすいように、背景は黒にしています)
ただし、その使用目的が処理中、または待機中であることを示すものですので、処理が完了したら消えるといった処理が必要です。
そのため、UIActivityIndicatorViewを表示したい場所で下記のように生成します。
.hファイル
@interface ViewController : UIViewController
{
UIActivityIndicatorView *activityIndicatorView;
}
.mファイル
activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicatorView.hidesWhenStopped = YES;
CGSize indicatorSize = activityIndicatorView.frame.size;
CGSize viewSize = self.view.frame.size;
activityIndicatorView.frame = CGRectMake((viewSize.width – indicatorSize.width) / 2, (viewSize.height – indicatorSize.height) / 2, indicatorSize.width, indicatorSize.height);
[activityIndicatorView startAnimating];
[self.view addSubview:activityIndicatorView];
そして処理が完了したら、その通知を受け取った場所で回転を停止させる必要があるので、このコードも追加します。
[activityIndicatorView stopAnimating];
生成時にactivityIndicatorView.hidesWhenStopped = YES;を指定していますので、回転が停止すると表示も消えるようになります。
また、initWithActivityIndicatorStyleに設定できる値は2つあり、大きさが異なります。
1.UIActivityIndicatorViewStyleWhite
2.UIActivityIndicatorViewStyleWhiteLarge
UIActivityIndicatorViewの色の変更
最後にちょっとしたカスタマイズ方法のご紹介です。
回転するUIActivityIndicatorViewの色を変更することができます。
今回は赤にするのでこのように記述します。
activityIndicatorView.color = [UIColor redColor];
すると赤色になりました。アプリ全体のデザインに合わせて調整してみてください。
今回の記事は以上です。
ぜひ参考にしてみてください。
同じような機能を持つUIパーツとしてXcodeでUIProgressViewもあるので合わせてご覧ください。
[お知らせ]TechAcademyでは初心者でも8週間でオリジナルアプリが作れるiPhoneアプリ開発オンラインブートキャンプを開催しています。