淡入UIImageView

时间:2013-09-07 21:44:38

标签: ios uiimageview

我能够成功淡出我的图像。当我试图将它淡入时,它不会“褪色”......它只会突然回来。我究竟做错了什么?这是我的代码,用于淡出它并尝试淡化它:

淡出它:

//Fade Out
Image.hidden = NO;
[UIView animateWithDuration:0.5 delay:1.0 options: UIViewAnimationOptionCurveEaseOut animations:^ {Image.alpha = 0;}
completion:^(BOOL finished){Image.hidden = YES;}];

这是我用来试图淡化它的原因;基本上,我正在做相反的事情......为什么不起作用?

//Fade In
Image.hidden = YES;
[UIView animateWithDuration:0.5 delay:1.0 options: UIViewAnimationOptionCurveEaseIn animations:^ {Image.alpha = 1;}
completion:^(BOOL finished){Image.hidden = NO;}];

3 个答案:

答案 0 :(得分:6)

当您淡入时,图像需要始终可见。您可以在隐藏图像上设置alpha属性的动画,然后在最后显示它。正确的是:

Image.hidden = NO;
[UIView animateWithDuration:0.5 
                      delay:1.0 
                    options:UIViewAnimationOptionCurveEaseIn 
                 animations:^{ Image.alpha = 1; }
                 completion:^(BOOL finished){}
];

答案 1 :(得分:2)

你先隐藏它,所以褪色是不可见的。您需要将alpha设置为0。

image.alpha = 0.0;
image.hidden = NO;
// do the animation to alpha => 1.0;

顺便说一下,你不应该使用大写的变量名。

答案 2 :(得分:0)

这是我认为最短的做法。创建一个UIView动画并将其提交到您的imageView。

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[myImageView setAlpha:0.0];
[UIView commitAnimations];