我能够成功淡出我的图像。当我试图将它淡入时,它不会“褪色”......它只会突然回来。我究竟做错了什么?这是我的代码,用于淡出它并尝试淡化它:
淡出它:
//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;}];
答案 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];