Sal*_*rtz 4 cocoa core-animation
这很有趣......我认为通过这样做
CABasicAnimation* a = [CABasicAnimation animationWithKeyPath:@"opacity"];
a.fromValue = [NSNumber numberWithFloat:0.];
a.toValue = [NSNumber numberWithFloat:1.];
a.duration = .4;
a.fillMode = kCAFillModeBoth;
a.removedOnCompletion = NO;
CGFloat timeOffset = 0;
for(CALayer* layer in layers)
{
a.beginTime = [someCommonSuperView.layer convertTime:CACurrentMediaTime()fromLayer:nil] + timeOffset;
[layer addAnimation:a forKey:nil];
timeOffset += .4;
}
Run Code Online (Sandbox Code Playgroud)
我实际上总是修改相同的CABasicAnimation的beginTime并且只是增加它的引用计数.所以我不会让一系列的图层一个接一个地消失,而是应该搞乱所有图层的开始时间,可能导致所有这些图层在最后一个时刻出现.但上面的代码实际上似乎有效,因为这些层依次淡入淡出.
那么以这种方式重用动画是否有意义?为了不在每次传递中创建它的新实例?
addAnimation实际上是制作动画的深层副本而不是增加引用计数吗?
| 归档时间: |
|
| 查看次数: |
903 次 |
| 最近记录: |