何かの処理中にインジケーターを表示して他の操作をさせなくしよう。
参考サイト
[iOS]アプリ内課金の金額をあらかじめ表示する – Qiita
まずUIviewを全画面に配置しautolayoutで全画面に入れます。
それに載せるようにUIActivityindicetorViewを配置します。
これはViewに対しX軸Y軸の中心になるようにautoLayoutします。
uiViewはBackGroundをBlackにし、Alpha値を0にしておきます。
UIActivityindicetorViewは、StyleをLarge Whiteにしておきます。
それらをoutlet接続します。
@property (weak, nonatomic) IBOutlet UIView *indicatorView; @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *indicator;
それらを実行するメソッドを作成。
そのまんまコピーですみません。(−人−)
// indicator - (void)indicator:(BOOL)start { if (start) { // indicator start // 全面を覆うviewを表示 [self.indicatorView setAlpha:0.6]; // インジケータを回す [self.indicator startAnimating]; // ステータスバーのインジケータも表示 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; // (必要なら)バックボタンを消す [self.navigationItem setHidesBackButton:YES animated:YES]; } else { // indicator stop // 全面を覆うviewを非表示にする [self.indicatorView setAlpha:0.0]; // インジケータを止める [self.indicator stopAnimating]; // ステータスバーのインジケータも消す [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; // (必要なら)バックボタンを表示する [self.navigationItem setHidesBackButton:NO animated:YES]; } }
インジケーターを表示したいところで
// インジケータ表示 [self indicator:YES];
インジケーターを終了したいところで
// インジケータ非表示 [self indicator:NO];
とゆー感じで使えるようになると思います。