【UIActivityIndicatorView】インジケーターの表示とか。

何かの処理中にインジケーターを表示して他の操作をさせなくしよう。

参考サイト
[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];

とゆー感じで使えるようになると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です