2010-04-10 19 views
0

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

阅读引用,它说如果图层可见,则子图层应该在加法器或删除时动画。

我在做什么错?有没有人有类似的问题,并能找到解决方案?

+0

默认情况下,未添加子图层动画。你是从哪里读到的,添加或删除该子图层时应该进行动画制作? – Tom 2010-04-11 01:07:35

回答

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>和链接的框架。在添加或删除子图层之前调用此块。

相关问题