2

UIViewController の中央に表示される一連のボタンがあります。ビューがロードされたときにボタンがビューに次々とポップ/表示されるという効果を与えるために、UIViewController がロードされた後に UIButtons をロードするか、代わりに互いに 1 秒以内にロードしてすばやくロードするようにしようとしていますが、ビューがロードされた後、ボタンの視覚的なアニメーション ポップがあること。

UIButtonでこれを行う例はありますか?

4

4 に答える 4

2

最初に、View Controller が呼び出しを受信したときに、viewDidLoadボタンがゼロになるように設定しますalpha

次に、viewDidAppear:以下を使用してボタンを表示する一連のアニメーションを構成できます。

[UIView animateWithDuration:<#(NSTimeInterval)#>
                      delay:<#(NSTimeInterval)#>
                    options:<#(UIViewAnimationOptions)#>
                 animations:<#^(void)animations#>
                 completion:<#^(BOOL finished)completion#>]

を使用してdelay各ボタンの表示間隔を空け、animationsブロックを使用してボタンの表示方法を指定します。アニメーション ブロックでは、alphaを 1 に設定してボタンを表示できます。ボタンにスケールtransformを追加して、サイズを変更することもできます(ポップ効果用)。

于 2013-05-16T17:44:51.257 に答える
2

おそらく次のようなものが必要です。

- (void)viewWillA pear:(BOOL)animated {
    [super viewWillAppear:animated];
    _button.alpha = 0;
    UIView animateWithDuration:1 animations:^{
        _button.alpha = 1;
    }];
}
于 2013-05-16T17:44:54.460 に答える
2

アルファはいつでもインクリメントできます。0.0f で開始し、1.0f で終了します。フェードイン効果が得られ、最初は見えなくなります。

              yourButton.alpha = 0.0f;
             [yourView addSubview:yourButton];

             [UIView animateWithDuration:1.0
                  delay:0.0
                options: UIViewAnimationCurveEaseInOut
             animations:^{yourButton.alpha = 1.0;}
             completion:nil];
于 2013-05-16T17:45:14.900 に答える
1

viewDidApper メソッドで NSTimer 次のメソッドを使用します

[NSTimer scheduleTimerWithTimeInterval:1.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats:NO];

// 書き込み targetMethod: このメソッドは 1 秒ごとに呼び出されます。そのメソッドでボタンをサブビューとして画面に追加するコードを記述するか、ボタンの可視性を制御できる場合は、targetMethod でボタンを可視化します。すべてのボタンが完全にロードされたら、NSTimer の無効化メソッドを使用して targetMethod の呼び出しを停止します。

于 2013-05-16T18:10:44.643 に答える