用百分比更改UIImageView的图像时淡入/淡入

问题描述:

我想将UIImageView图像从一个图像更改为另一个。 但我不希望它完全动画到最后。我只是想让它做一个百分比的解散。结果应该是一个包含两个图像的新图像,例如我会在某个点停止动画并保留结果。用百分比更改UIImageView的图像时淡入/淡入

我知道,这样做所有的动画从开始到结束:

CATransition *transition = [CATransition animation]; 
transition.duration = 0.25; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionFade; 
transition.delegate = self; 
[self.view.layer addAnimation:transition forKey:nil]; 
view1.hidden = YES; 
view2.hidden = NO; 

不过那时候我也只是改变了形象。我希望它保持一定比例的“合并”。这是否有可能?先谢谢你!

此扩展工作对我来说:

extension UIImage { 
    static func mergeImage(imageA: UIImage, imageB:UIImage, percentage: CGFloat) -> UIImage{ 

     UIGraphicsBeginImageContextWithOptions(imageA.size, false, 0.0) 

     imageA.draw(at: CGPoint(x: 0, y: 0), blendMode: .normal, alpha: 1-percentage) 

     imageB.draw(at: CGPoint(x: 0, y: 0), blendMode: .normal, alpha: percentage) 

     let mergedImage = UIGraphicsGetImageFromCurrentImageContext(); 

     UIGraphicsEndImageContext(); 

     return mergedImage!; 
    } 
} 
+0

谢谢!奇迹般有效 –