[swift] 앱 런치 이미지에 애니메이션 GIF 파일 사용하기

iOS 앱을 개발하다 보면, 앱이 실행될 때 화면에 로딩 이미지를 표시하는 것이 일반적입니다. 기본적으로 정적인 이미지를 사용하지만, 애니메이션 효과가 있는 GIF 파일을 사용하여 더욱 동적인 로딩 화면을 구성할 수 있습니다. 이번 글에서는 Swift 언어를 사용하여 앱 런치 이미지에 애니메이션 GIF 파일을 사용하는 방법을 알아보겠습니다.

1. GIF 파일 가져오기

먼저, GIF 파일을 프로젝트에 추가해야 합니다. Xcode 프로젝트 탐색기에서 GIF 파일을 선택하고, “Copy items if needed” 옵션을 선택하여 프로젝트에 복사합니다. 이렇게 하면 앱 실행 시 해당 GIF 파일이 프로젝트의 번들에 포함됩니다.

프로젝트에 GIF 파일 추가

2. UIImageView 추가

앱 런치 이미지에 애니메이션 GIF 파일을 사용하기 위해 UIImageView를 추가해야 합니다. Main.storyboard 파일을 열고, 원하는 위치에 UIImageView를 추가합니다. 필요에 따라 UIImageView의 크기를 조정하세요.

3. GIF 파일 로드

GIF 이미지를 UIImageView에 로드하기 위해, UIImage 클래스의 animatedImage(with:duration:) 메서드를 사용합니다. 이 메서드를 사용하여 GIF 파일에서 애니메이션 이미지를 가져올 수 있습니다.

import UIKit

class LaunchViewController: UIViewController {
    
    @IBOutlet weak var gifImageView: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        if let gifPath = Bundle.main.path(forResource: "loading_anim", ofType: "gif") {
            if let gifData = try? Data(contentsOf: URL(fileURLWithPath: gifPath)) {
                if let gifImage = UIImage.animatedImage(with: gifData) {
                    gifImageView.image = gifImage
                }
            }
        }
    }
}

위의 코드에서 loading_anim.gif는 프로젝트에 추가한 GIF 파일의 이름으로 변경해야 합니다.

4. 런치 이미지 변경

애니메이션 GIF를 보여주기 위해 런치 이미지를 변경해야 합니다. Xcode에서 “Info.plist” 파일을 열고, “Launch Screen Interface File Base Name” 값을 설정합니다. 이 값을 설정하면 앱이 실행될 때 LaunchScreen.storyboard 대신에 지정한 파일을 사용하게 됩니다.

또한, 앱이 실행되면서 로딩 중인 상태를 나타내는 뷰 컨트롤러를 표시해야 합니다. 이를 위해 런치 이미지에 UIViewController를 추가해야 합니다. 위의 코드를 참고하여 로딩 이미지가 표시될 뷰 컨트롤러를 구성하세요.

5. 테스트

이제 앱을 실행하여 애니메이션 GIF가 정상적으로 표시되는지 확인해보세요. 앱을 실행하면 런치 이미지가 나타나고, 지정한 GIF 파일의 애니메이션 효과가 재생될 것입니다.

참고 자료