动画在iPhone上添加/删除图层

时间:2010-04-10 22:56:19

标签: iphone core-animation calayer

在iPhone上,当您使用-addSublayer:或-removeFromSuperlayer将子图层添加到可见视图的图层时,该子图层不应以动画方式显示或消失(即逐渐淡入或淡出) )?我的程序使用图层(而非视图)设置动画。当我更改像位置或图像内容的图层的属性时,更改会生成动画(图层条纹围绕它的父图层,图层从旧图像淡化到新图像),所以我显然有图层和图像。正确查看设置。但是,当我添加或删除子图层时,更改立即发生;没有动画。

阅读参考文献时,它表示如果图层可见,则子图层应在加法或删除时生成动画。

我做错了什么?有没有人有过类似的问题,能够找到解决方案吗?

1 个答案:

答案 0 :(得分:3)

如果您想要淡入淡出,可以使用以下CATransition:

CATransition* transition = [CATransition animation];
transition.delegate = nil;
transition.duration = 0.3;
transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut];
transition.type = kCATransitionFade;
[theLayer addAnimation: transition forKey: nil];

只需确保#import <QuartzCore/QuartzCore.h>并链接框架即可。在添加或删除子图层之前调用此块。