2017-03-16 27 views
0

我在IOS開發方面相當新,所以在這個新手問題上與我無關。我已經設置了幾個圖像,我需要自動轉換到另一個圖像,直到這一點,一切都很好。這裏是我的代碼:如何將淡入淡出添加到Swift 3中設置的動畫圖像中?

image1 = UIImage(named: "loginBg1.png") 
image2 = UIImage(named: "loginBg2.png") 

images = [image1, image2] 
animatedImage = UIImage.animatedImage(with: images, duration: 3) 
backgroundImageView.image = animatedImage 

現在的問題是,我需要他們時,他們的過渡褪色。基本上我需要在動畫之間添加淡入淡出過渡。

另外,如果您有經驗,我想爲圖像添加ken burns效果,因爲它應該在過渡之前和之後平移/縮放每個圖像。

會很感激快速回復!

回答

0

這是一個將淡出當前圖像並淡入新圖像的功能。

extension UIImageView{ 
    func transition(toImage: UIImage, withDuration duration: TimeInterval){ 
     UIView.animate(withDuration: duration, animations: { 
      self.alpha = 0 
     }) { (bool) in 

      UIView.animate(withDuration: duration, animations: { 
       self.image = toImage 
       self.alpha = 1 
      }, completion: nil) 
     } 
    } 
} 

Ken Burns效應更困難。我建議使用pod像這樣的:https://github.com/jberlana/JBKenBurns

更新:

這樣調用該函數:

let transitionToImage = UIImage.init(named: "newImage")! //newImage is the name of the Image Set in xcassets 

let duration: TimeInterval = 1 //seconds, can also be fractions, i.e. 0.3, 0.5 
imageView.transition(toImage: transitionToImage, withDuration: duration) 
+0

嘿,謝謝你,但你會更進一步,告訴我如何使用它。我的意思是,我實現了擴展,但我該如何調用這個函數? 請高度讚賞它,這裏是一個新手。 – olbanana

+0

感謝您的幫助,謝謝! PS:對於任何一個發現這個問題,曾經通過這個函數調用過的圖像超出了範圍,我認爲這些約束沒有被應用。 – olbanana