我试图在几微秒后隐藏CALayer,并使用CABasicAnimation为隐藏动画。

目前,我正在尝试使用

[aLayer setHidden:YES];

CABasicAnimation * hideAnimation = [CABasicAnimation animationWithKeyPath:@"hidden"];
[hideAnimation setDuration:aDuration];
[hideAnimation setFromValue:[NSNumber numberWithBool:NO]];
[hideAnimation setToValue:[NSNumber numberWithBool:YES]];
[hideAnimation setBeginTime:0.09];
[hideAnimation setRemovedOnCompletion:NO];
[hideAnimation setDelegate:self];

[alayer addAnimation:hideAnimation forKey:@"hide"];

但是,当我运行此代码时,该层将立即隐藏,而不是等待所需的beginTime。

我不确定我的keyPath是否为“隐藏”,但找不到任何其他选项,并且文档确实指出hiddenCALayer属性是可动画的。

什么是实现我所寻找的正确方法?

最佳答案

尝试为不透明度属性设置动画。从1.0更改为0.0,您应该获得想要的效果。

关于objective-c - 动画CALayer隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3260652/

10-11 01:26