如何在 for 循环中设置带有动画的按钮 alpha?

Posted

技术标签:

【中文标题】如何在 for 循环中设置带有动画的按钮 alpha?【英文标题】:how to set button alpha with an animation inside a for loop? 【发布时间】:2013-09-13 20:16:04 【问题描述】:

我正在尝试在动画中设置按钮 alpha。 我有 tre 按钮,其中一个必须在动画期间消失,另外 2 个必须出现在视图上。

这是我的代码:

    for (UIButton *button in self.buttonInView) 
        if ([button.titleLabel.text isEqualToString:TITLE_OF_START_BUTTON]) 

            [UIView animateWithDuration:10 delay:0 options:UIViewAnimationOptionLayoutSubviews animations:^
                button.alpha = 0.00;
             completion:^(BOOL finished) 
                button.hidden = NO;
            ];
         else 
            [UIView animateWithDuration:10 delay:0.1 options:UIViewAnimationOptionLayoutSubviews animations:^
                button.hidden = YES;
                button.alpha = 0.90;
             completion:nil];
        
    

这段代码实际上只执行 if 语句中的动画,而没有执行 else 语句中的其他两个。

我该如何解决这个问题?

谢谢

【问题讨论】:

【参考方案1】:

您在设置隐藏属性的位置混淆了它。试试这个:

for (UIButton *button in self.buttonInView) 
    if ([button.titleLabel.text isEqualToString:TITLE_OF_START_BUTTON]) 

        [UIView animateWithDuration:10 delay:0 options:UIViewAnimationOptionLayoutSubviews animations:^
            button.alpha = 0.00;
         completion:^(BOOL finished) 
            button.hidden = YES;
        ];
     else 
        button.alpha = 0;
        button.hidden = NO;

        [UIView animateWithDuration:10 delay:0.1 options:UIViewAnimationOptionLayoutSubviews animations:^
            button.alpha = 0.90;
         completion:nil];
    

【讨论】:

有效!抱歉这个愚蠢的错误,我花了将近一个小时来解决这个问题!谢谢!

以上是关于如何在 for 循环中设置带有动画的按钮 alpha?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 for 循环为 UIView 设置动画?

ANDROID:如何在 for 循环中设置按钮?

如何使带有自定义背景图像的按钮在Android中显示点击动画

如何在for循环中切换单击按钮的类?

使用Objective-C设置窗口淡出动画

objective-c 我想点击一下按钮,使按钮能出现一个动画移动效果,请高手指教!