4

全て

UIActivityIndicatorメソッドで 5 秒間実行しようとしてviewdidappearいますが、アクティビティ インジケーター (5 秒) の時間制限を指定するにはどうすればよいですか?

これはのコードですUIActivityIndicator

 UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc]     initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    activityView.center=self.view.center;

    [activityView startAnimating];

    [self.view addSubview:activityView];
4

4 に答える 4

5

1行で、追加の依存関係と条件はありません:

[activityView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:5.0];
于 2013-05-31T09:33:14.427 に答える
4

停止時に自動的に非表示になるようにアクティビティ ビューを設定する

activityView.hidesWhenStopped = YES;

そして、次のように 5 秒後に非表示にします。

[activityView performSelector:@selector(stopAnimating) withObject:nil afterDelay:5.0];

これにより、必要に応じて呼び出すだけでアニメーションを再開しstartAnimating、ポインタを保持することができます。UIActivityIndicatorView

アクティビティインジケーターを一度だけ表示する必要があり、もう使用しない場合は、アレクサンダーの回答がニーズに最適です

于 2013-05-31T09:34:24.920 に答える
0

NSTimer を 5 秒間使用します。タイマーのコールバックメソッドでアニメーションを停止

于 2013-05-31T09:33:42.807 に答える
0

このコードを試して、

  -(void)viewDidAppear:(BOOL)animated
{
        UIActivityIndicatorView *activityView=[[UIActivityIndicatorView alloc]     initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
        activityView.center=self.view.center;
        [self.view addSubview:activityView];
        [activityView startAnimating];
        activityView.tag=1111;
        [activityView release];
}   


    [activityView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:5.0];

    -(void)removeFromSuperview
    {
            UIActivityIndicatorView *activityView=(UIActivityIndicatorView*)[self.viewviewWithTag:1111];
            [activityView stopAnimating];
[activityView removeFromSuperview];
        }
于 2013-05-31T10:26:55.867 に答える