淡入淡出UIIamgeView中的图像发生在没有持续时间的情况下

问题描述:

我有一个UIIamge我以viewDidLoad编程创建了一个DetailViewController。我想.transitionCrossDissolve之间的当前图像到另一个图像。我的问题是,一旦DetailViewCOntroller显示,交换机立即发生,无论duration。我甚至从来没有看到第一个图像。我正在使用下面的代码。淡入淡出UIIamgeView中的图像发生在没有持续时间的情况下

let rect = CGRect(x: 0, y: UIApplication.shared.statusBarFrame.height, width: view.frame.size.width, height: view.frame.size.height/3.0) 
    let imageView = UIImageView(frame: rect) 
    imageView.image = #imageLiteral(resourceName: "head1") 
    imageView.contentMode = .scaleAspectFill 
    imageView.clipsToBounds = true 
    view.addSubview(imageView) 
    UIView.transition(with: imageView, 
         duration: 16.0, 
         options: .transitionCrossDissolve, 
         animations: { imageView.image = #imageLiteral(resourceName: "head3") }, 
         completion: nil) 

尝试在viewDidAppear委托中启动动画。认为这是问题。

+1

谢谢你,工作。 – Jevon718