Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将彩色图像设置为动画';那是灰色的吗?_Objective C - Fatal编程技术网

Objective c 如何将彩色图像设置为动画';那是灰色的吗?

Objective c 如何将彩色图像设置为动画';那是灰色的吗?,objective-c,Objective C,我正在用彩色图像制作应用程序封面。我想用动画使这个图像变成灰色 我用NYXImagesKit创建了一个灰度图像。 但是我不知道如何使用UIImage在这两个图像之间设置动画。1:使用相同的帧创建两个图像视图 2:将它们作为子视图添加到同一个超级视图中,该超级视图位于另一个超级视图之上 3:将其image属性分别设置为彩色图像和灰度图像 4:将包含彩色图像的图像视图的alpha属性设置为1.0,并在另一个视图(显示灰度图像的视图)上将此属性设置为0.0 5:然后淡入淡出两个反平行的图像视图: [U

我正在用彩色图像制作应用程序封面。我想用动画使这个图像变成灰色

我用NYXImagesKit创建了一个灰度图像。
但是我不知道如何使用UIImage在这两个图像之间设置动画。

1:使用相同的帧创建两个图像视图

2:将它们作为子视图添加到同一个超级视图中,该超级视图位于另一个超级视图之上

3:将其
image
属性分别设置为彩色图像和灰度图像

4:将包含彩色图像的图像视图的
alpha
属性设置为
1.0
,并在另一个视图(显示灰度图像的视图)上将此属性设置为
0.0

5:然后淡入淡出两个反平行的图像视图:

[UIView animateWithDuration:1.0 animations:^{
    grayscaleImageView.alpha = 1.0;
    coloredImageView.alpha = 0.0;
}];

这是在两个图像之间设置动画的好方法。但是我发现动画不是很流畅。彩色图像将变暗,灰色图像将变亮。很容易区分这两幅图像。我发现如果我设置grayscaleImageView.alpha=0.5;在动画之前。它看起来会更光滑。谢谢@H2CO3。