UIViewController の中央に表示される一連のボタンがあります。ビューがロードされたときにボタンがビューに次々とポップ/表示されるという効果を与えるために、UIViewController がロードされた後に UIButtons をロードするか、代わりに互いに 1 秒以内にロードしてすばやくロードするようにしようとしていますが、ビューがロードされた後、ボタンの視覚的なアニメーション ポップがあること。
UIButtonでこれを行う例はありますか?
UIViewController の中央に表示される一連のボタンがあります。ビューがロードされたときにボタンがビューに次々とポップ/表示されるという効果を与えるために、UIViewController がロードされた後に UIButtons をロードするか、代わりに互いに 1 秒以内にロードしてすばやくロードするようにしようとしていますが、ビューがロードされた後、ボタンの視覚的なアニメーション ポップがあること。
UIButtonでこれを行う例はありますか?
最初に、View Controller が呼び出しを受信したときに、viewDidLoad
ボタンがゼロになるように設定しますalpha
。
次に、viewDidAppear:
以下を使用してボタンを表示する一連のアニメーションを構成できます。
[UIView animateWithDuration:<#(NSTimeInterval)#>
delay:<#(NSTimeInterval)#>
options:<#(UIViewAnimationOptions)#>
animations:<#^(void)animations#>
completion:<#^(BOOL finished)completion#>]
を使用してdelay
各ボタンの表示間隔を空け、animations
ブロックを使用してボタンの表示方法を指定します。アニメーション ブロックでは、alpha
を 1 に設定してボタンを表示できます。ボタンにスケールtransform
を追加して、サイズを変更することもできます(ポップ効果用)。
おそらく次のようなものが必要です。
- (void)viewWillA pear:(BOOL)animated {
[super viewWillAppear:animated];
_button.alpha = 0;
UIView animateWithDuration:1 animations:^{
_button.alpha = 1;
}];
}
アルファはいつでもインクリメントできます。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];
viewDidApper メソッドで NSTimer 次のメソッドを使用します
[NSTimer scheduleTimerWithTimeInterval:1.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats:NO];
// 書き込み targetMethod: このメソッドは 1 秒ごとに呼び出されます。そのメソッドでボタンをサブビューとして画面に追加するコードを記述するか、ボタンの可視性を制御できる場合は、targetMethod でボタンを可視化します。すべてのボタンが完全にロードされたら、NSTimer の無効化メソッドを使用して targetMethod の呼び出しを停止します。