【发布时间】:2013-07-19 10:52:26
【问题描述】:
根据核心动画文档,设置图层内容应触发隐式 0.25 动画,该动画将在新旧图像之间转换。 我还看到很多地方人们都在问如何删除这个隐式动画,但由于某种原因,当我在我的项目中尝试这个时,我会立即交换图像。 在文档中阅读了更多内容,我看到这段代码被剪断了:
- (id<CAAction>)actionForLayer:(CALayer *)theLayer
forKey:(NSString *)theKey {
CATransition *theAnimation=nil;
if ([theKey isEqualToString:@"contents"]) {
theAnimation = [[CATransition alloc] init];
theAnimation.duration = 1.0;
theAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
theAnimation.type = kCATransitionPush;
theAnimation.subtype = kCATransitionFromRight;
}
return theAnimation;
}
这意味着“内容”不是隐式动画。
我很想更好地理解这一点。
【问题讨论】:
-
你有什么不明白的?
-
它应该是动画的吗?如果没有,为什么我看不到这个?
-
如果您明确地使用该过渡制作动画,它会起作用吗?
-
@EyalRedler 它确实是隐式动画,尽管它可能很难看到。这不起作用的最常见原因是其内容更改的图层由 UIView 支持。在这种情况下,隐式图层动画被禁用。如果不是这种情况,请显示您正在使用的不隐式动画的代码。
标签: ios cocoa core-animation