如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章