Core Animation无法使用"alpha"值

5ar*_*gon 34 alpha core-animation cabasicanimation ios

在此代码之前,我的电影pic alpha设置为0,

CABasicAnimation* fadein= [CABasicAnimation animationWithKeyPath:@"alpha"];
    [fadein setToValue:[NSNumber numberWithFloat:1.0]];
    [fadein setDuration:0.5];
    [[moviepic layer]addAnimation:fadein forKey:@"alpha"];
Run Code Online (Sandbox Code Playgroud)

没有任何事情发生,如果我事先将alpha设置为0.5,则alpha保持为0.5而不是动画为1.

我已经看过使用的代码UIView beginAnimations:了,但是我正在教核心动画,所以我想知道为什么CABasicAnimation不能做这样的简单任务?

ohh*_*hho 100

[CABasicAnimation animationWithKeyPath:@"opacity"];
Run Code Online (Sandbox Code Playgroud)

UIView将此alpha暴露为CALayer公开的地方opacity.

  • @Sargon使用Core Animation,您可以设置`CALayer`属性,而不是`UIView`属性,因此该层是查找正确属性名称的位置 - 请参阅:`view.layer`. (4认同)