我有一组按钮显示在 UIViewController 的中心。为了产生按钮在视图加载时一个接一个地弹出/出现在视图上的效果,我试图在我的 UIViewController 加载后加载 UIButtons,或者在彼此之间加载一秒钟,以便它们快速加载但视图加载后按钮的视觉动画弹出。
有没有人有使用 UIButton 执行此操作的示例?
我有一组按钮显示在 UIViewController 的中心。为了产生按钮在视图加载时一个接一个地弹出/出现在视图上的效果,我试图在我的 UIViewController 加载后加载 UIButtons,或者在彼此之间加载一秒钟,以便它们快速加载但视图加载后按钮的视觉动画弹出。
有没有人有使用 UIButton 执行此操作的示例?
最初,当视图控制器接收到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;
}];
}
您始终可以增加 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];
在 viewDidApper 方法中使用 NSTimer 以下方法
[NSTimer scheduleTimerWithTimeInterval:1.0 目标:自我选择器:@selector(targetMethod:) userInfo:nil repeats:NO];
// 编写 targetMethod:此方法每 1 秒调用一次。编写代码以在该方法中将按钮作为子视图添加到屏幕,或者如果您可以控制按钮的可见性,则使按钮在 targetMethod 中可见。当所有按钮完全加载时,使用 NSTimer 的 invalidate 方法来阻止 targetMethod 调用。