iOSアプリ開発の逆引き辞典

iPhone/iPadで使えるアプリ開発のTipsをまとめてみました

ステータスバーのネットワーク接続中のインジケーターを表示/非表示する

ネットワーク通信中を表すステータスバーのぐるぐるはNetworkActivityIndicatorと呼ばれています。このインジゲーターを表示/非表示させる方法をご紹介します。

f:id:ch3cooh393:20140226000102p:plain

UIApplicationオブジェクトが持っているNetworkActivityIndicatorVisibleプロパティにBOOL値を入れるだけです。

ネットワークアクティビティインジケーターを表示する

UIApplication *application = [UIApplication sharedApplication];
[application setNetworkActivityIndicatorVisible:YES];

ネットワークアクティビティインジケーターを非表示にする

UIApplication *application = [UIApplication sharedApplication];
[application setNetworkActivityIndicatorVisible:NO];

注意点

見てお分かりの通り「表示」「非表示」の2つの状態しか持っていません。

表示命令→表示命令→非表示命令ときた場合には、実際通信中の処理が生きていてもインジゲータは消えてしまいます。

アプリ内で統括して表示命令と非表示命令の数を管理しておく必要があるかもしれませんね。