UIView没有动画alpha

时间:2014-12-28 14:13:33

标签: ios animation uiview

我正试图为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;
    }
  }];

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。它有多个问题。第一个,视图是opaque。我设置了NO不透明,没有任何反应。然后我意识到我从alpha = 0开始,我也改变了它,它开始以我想要的方式制作动画。

归功于Hampus Nilsson在这里的评论:Problems animating UIView alpha