2

我有一组按钮显示在 UIViewController 的中心。为了产生按钮在视图加载时一个接一个地弹出/出现在视图上的效果,我试图在我的 UIViewController 加载后加载 UIButtons,或者在彼此之间加载一秒钟,以便它们快速加载但视图加载后按钮的视觉动画弹出。

有没有人有使用 UIButton 执行此操作的示例?

4

4 回答 4

2

最初,当视图控制器接收到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

您始终可以增加 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];
于 2013-05-16T17:45:14.900 回答
1

在 viewDidApper 方法中使用 NSTimer 以下方法

[NSTimer scheduleTimerWithTimeInterval:1.0 目标:自我选择器:@selector(targetMethod:) userInfo:nil repeats:NO];

// 编写 targetMethod:此方法每 1 秒调用一次。编写代码以在该方法中将按钮作为子视图添加到屏幕,或者如果您可以控制按钮的可见性,则使按钮在 targetMethod 中可见。当所有按钮完全加载时,使用 NSTimer 的 invalidate 方法来阻止 targetMethod 调用。

于 2013-05-16T18:10:44.643 回答