在iOS上淡出图像

时间:2014-01-18 04:37:00

标签: ios uiimage fade

以下代码淡出当前图像,但由于某些奇怪的原因导致所有按钮消失。

self.imageThree = [UIImage imageNamed:@"newscreensh.png"];
self.imageTwo = [UIImage imageNamed:@""];

UIImage * toImage = ([self.imageView.image isEqual:self.imageThree]) ? self.imageTwo : self.imageThree;

[UIView transitionWithView:self.imageView
                  duration:0.8f
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                      self.imageView.image = toImage;
               }completion:NULL];

当我在下面使用此代码时,所有按钮都不会消失。

loader.image = [UIImage imageNamed:@""];

然而,我需要一个淡化效果来平滑事物。我的故事板按钮可能会发生什么?

2 个答案:

答案 0 :(得分:2)

self.imageThree = [UIImage imageNamed:@"newscreensh.png"];
//self.imageTwo = [UIImage imageNamed:@""];   

UIImage *toImage = self.imageView.image != nil?nil:self.imageThree;

因为isEqual将比较两个图像的数据是否具有相同的字节数,[UIImage imageNamed:@""]返回nil值,所以你只需要比较图像的图像是nil.return nil还是{{1实现淡出动画。

imageThree

答案 1 :(得分:0)

要淡化图像,您可以像这样更改其Alpha值:

[self.imageTwo setAlpha:0.5];

如果alphaValue为0,则图像将完全透明。 Alpha值介于0和0之间。如果这不是你需要的,请告诉我。