【发布时间】:2010-12-05 17:34:18
【问题描述】:
我这样做是为了学习如何在 iPhone 上使用 Core Animation 动画属性(而不是学习如何交叉淡化图像本身)。
阅读关于 SO 的类似问题让我相信它可以通过像这样为 UIImageView 的 layer 的 .contents 属性设置动画来完成:
UIImage *image1 = [UIImage imageNamed:@"someImage1.png"];
UIImage *image2 = [UIImage imageNamed:@"someImage2.png"];
self.imageView.image = image1;
[self.view addSubview:self.imageView];
CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
crossFade.duration = 5.0;
self.imageView.layer.contents = image2;
[self.imageView.layer addAnimation:crossFade forKey:@"animateContents"];
我是否弄错了细节,或者这不可能。
更新:上面的代码产生了一个空白的 UIImageView。当我更改此行时:
self.imageView.layer.contents = image2.CGImage;
...我现在可以看到图像,但它不会淡入,它只是立即出现。
【问题讨论】:
标签: iphone core-animation