【问题标题】:how to set button alpha with an animation inside a for loop?如何在 for 循环中设置带有动画的按钮 alpha?
【发布时间】: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 语句中的其他两个。

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: iphone ios objective-c animation uibutton


    【解决方案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];
        }
    }
    

    【讨论】:

    • 有效!抱歉这个愚蠢的错误,我花了将近一个小时来解决这个问题!谢谢!
    猜你喜欢
    • 2013-09-23
    • 2022-01-23
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 2021-03-27
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多