※本記事は、旧ブログからの再掲です。

iPhoneアプリからネットワーク通信を行うときなど時間がかかる処理を行う場合には、処理中であることをユーザへ知らせるためにActivity Indicatorを表示します。

以前、「同期通信・非同期通信」という記事を書いたのですが、そのような処理を行う際に使用します。

activity_indicator

インジケーターの種類は以下の3つがあり、初期化時にinitWithActivityIndicatorStyle:メソッドを使用するか、初期化後にactivityIndicatorViewStyleプロパティで変更することもできます。
・UIActivityIndicatorViewStyleWhiteLarge (大きな白いインジケーター)
・UIActivityIndicatorViewStyleWhite (白いインジケーター)
・UIActivityIndicatorViewStyleGray (グレーのインジケーター)

Activity Indicatorを表示するには、UIActivityIndicatorViewインスタンスを作成し、アニメーションを開始させます。
アニメーションの開始には、startAnimatingメソッドを使用し、逆にアニメーションの停止には、stopAnimatingメソッドを使用します。
ただ、アニメーションの開始・停止を実行しても表示されない場合があります。
一旦、メインループに戻らないとアニメーションが機能しないので、アニメーションを開始させた後にperformSelector:withObject:afterDelay:メソッドを使用しています。

以下の例では、networkActivityIndicatorVisibleプロパティにYES/NOを設定していますが、この設定を行うとステータスバーにインジケーターを表示/非表示することができます。

 

<おすすめの書籍>
私がUIKitを使用する時に一番お世話になった本です。とても分かりやすいので初心者の方にもオススメです。

 

 


Comments are closed.