相关疑难解决方法(0)

如何使用Core Animation在iPhone上的2个图像之间交叉淡入淡出

我这样做是为了学习如何使用iPhone上的Core Animation动画属性(不学习如何交叉淡化图像本身).

在SO上阅读类似的问题让我相信它可以通过动画UIImageView .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"];
Run Code Online (Sandbox Code Playgroud)

我是否弄错了细节或者这是不可能的.

更新:上面的代码生成一个空白的UIImageView.当我更改此行时:

self.imageView.layer.contents = image2.CGImage;
Run Code Online (Sandbox Code Playgroud)

...我现在可以看到图像,但它不会淡入,只会立即出现.

iphone core-animation

44
推荐指数
3
解决办法
2万
查看次数

标签 统计

core-animation ×1

iphone ×1