【问题标题】:UIView doesn't animate alpha [duplicate]UIView 不会为 alpha 设置动画 [重复]
【发布时间】:2014-12-28 14:13:32
【问题描述】:

我正在尝试为我的视图制作 alpha 动画,但我无法让它工作。

self.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView animateWithDuration:1.5 animations:^{
    self.alpha = 0;
    self.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
    self.alpha = 1;
}];

动画有效,但 alpha 为 1 时是静态的。但变换动画正确。如果我删除设置转换(只是为了测试它是否是由它引起的),什么也不会发生。

我也尝试过重复动画,它重复但 alpha 始终为 1:

[UIView animateWithDuration:1.5 delay:delay
  options:(UIViewAnimationOptionRepeat
         | UIViewAnimationOptionCurveEaseInOut
         | UIViewAnimationOptionTransitionNone) animations:^{
    self.alpha = 0;
    self.transform = CGAffineTransformIdentity;
  } completion:^(BOOL finished) {
    if(finished){
        self.alpha = 1;
    }
  }];

为什么会这样?

【问题讨论】:

  • @picciano 没有人回答。问题下的评论解决了我的问题,而不是答案。
  • 问题和解决方法是一样的,所以我把它标记为重复。继续回答另一个问题并获得荣誉。

标签: ios animation uiview


【解决方案1】:

我找到了解决方案。它有多个问题。第一个,视图是opaque。我已将 opaque 设置为NO,但什么也没发生。然后我意识到我是从 alpha = 0 开始的,我也改变了它,它开始按照我想要的方式制作动画。

感谢 Hampus Nilsson 的评论:Problems animating UIView alpha

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    相关资源
    最近更新 更多