我有一组显示在UIViewController中心的按钮。为了说明当视图加载时按钮一个接一个地弹出/出现在视图上的效果我试图在我的UIViewController加载之后加载UIButtons或者在一秒钟内加载它们以便它们加载很快但是视图加载后,按钮会有一个视觉动画弹出窗口。
有没有人用UIButton做这个例子?
答案 0 :(得分:2)
最初,当视图控制器收到viewDidLoad
的来电时,您要设置按钮,使其为零alpha
。
然后,在viewDidAppear:
中,您可以配置一组动画以显示按钮:
[UIView animateWithDuration:<#(NSTimeInterval)#>
delay:<#(NSTimeInterval)#>
options:<#(UIViewAnimationOptions)#>
animations:<#^(void)animations#>
completion:<#^(BOOL finished)completion#>]
使用delay
分隔每个按钮和animations
块的显示,以指定按钮的显示方式。在动画块中,您可以将alpha
设置为1以使按钮显示。您还可以向按钮添加比例transform
,使其大小发生变化(对于弹出效果)。
答案 1 :(得分:2)
你可能想要这样的东西:
- (void)viewWillA pear:(BOOL)animated {
[super viewWillAppear:animated];
_button.alpha = 0;
UIView animateWithDuration:1 animations:^{
_button.alpha = 1;
}];
}
答案 2 :(得分:2)
您可以随时增加Alpha。从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];
答案 3 :(得分:1)
在viewDidApper方法中使用NSTimer跟随方法
[NSTimer scheduledTimerWithTimeInterval:1.0 目标:自 选择:@选择(targetMethod :) 用户信息:无 重复:NO];
// write targetMethod:每隔1秒调用一次此方法。编写代码以在该方法中将按钮作为子视图添加到屏幕,或者如果您可以控制按钮的可见性,则在targetMethod中使按钮可见。当所有按钮完全加载时,使用NSTimer的invalidate方法来停止调用targetMethod。