본문 바로가기

iOS 개발/UIKit

[iOS/UIKit] Fade 효과로 화면 전환하기

Fade 효과로 화면 전환

  1. 바꿀 화면을 얹은 View 를 생성하고 alpha 값을 0 (투명한 화면이 된다.) 으로 하여 현재 화면에 올린다.

  2. withDuration 을 조절해 천천히 alpha 값을 1로 만든다.

  3. 현재 화면을 바꿀 화면으로 바꾼 뒤 올린 View를 제거한다.

 

func fade(to image: UIImage, showEffects: Bool) {
    // Create & Set up temp view.
    let tempView = UIImageView(frame: background.frame)
    tempView.image = image
    tempView.alpha = 0
    background.superview!.insertSubview(tempView, aboveSubview: background)
        
    UIView.animate(
        withDuration: 1 / 2,
        // Fade temp view in.
        animations: { tempView.alpha = 1 },
        // Update background view & remove temp view.
        completion: { _ in
            self.background.image = image
            tempView.removeFromSuperview()
        }
    )
}