何かの処理中にインジケーターを表示して他の操作をさせなくしよう。
参考サイト
[iOS]アプリ内課金の金額をあらかじめ表示する – Qiita
まずUIviewを全画面に配置しautolayoutで全画面に入れます。
それに載せるようにUIActivityindicetorViewを配置します。
これはViewに対しX軸Y軸の中心になるようにautoLayoutします。
uiViewはBackGroundをBlackにし、Alpha値を0にしておきます。
UIActivityindicetorViewは、StyleをLarge Whiteにしておきます。
それらをoutlet接続します。
1 2 |
@property (weak, nonatomic) IBOutlet UIView *indicatorView; @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *indicator; |
それらを実行するメソッドを作成。
そのまんまコピーですみません。(−人−)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// 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]; } } |
インジケーターを表示したいところで
1 2 |
// インジケータ表示 [self indicator:YES]; |
インジケーターを終了したいところで
1 2 |
// インジケータ非表示 [self indicator:NO]; |
とゆー感じで使えるようになると思います。