0

我正在尝试在动画中设置按钮 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 语句中的其他 tow。

我怎么解决这个问题?

谢谢

4

1 回答 1

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 = 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-13T20:22:57.500 回答