[swift] Swift 앱 스플래시 화면

스플래시 화면은 사용자가 앱을 실행할 때 처음으로 보이는 화면입니다. 앱의 로딩 시간 동안 사용자들에게 시각적인 피드백을 제공하고 앱이 제대로 시작되었음을 알려줍니다.

이번 글에서는 Swift를 사용하여 앱의 스플래시 화면을 구현하는 방법에 대해 알아보겠습니다.

1. 스플래시 이미지 생성

먼저, 앱에 표시할 스플래시 이미지를 생성해야 합니다. 이 이미지는 앱이 실행될 때 화면에 보여질 것입니다. 일반적으로 앱의 로고나 브랜드 이미지를 사용합니다.

스플래시 이미지는 프로젝트 내에 “Assets.xcassets”라는 폴더를 생성한 후, 해당 폴더에 이미지 파일을 추가하는 방식으로 구현할 수 있습니다.

2. 스플래시 화면 UIViewController 구현

스플래시 화면을 나타내는 SplashViewController라는 UIViewController를 구현해야 합니다. 이 컨트롤러는 앱이 실행될 때 자동으로 호출되며, 스플래시 이미지를 보여주고 다음 화면으로 전환합니다.

import UIKit

class SplashViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        // 스플래시 이미지 뷰 생성
        let splashImageView = UIImageView(frame: UIScreen.main.bounds)
        splashImageView.image = UIImage(named: "SplashImage")

        // 스크린에 스플래시 이미지 뷰 추가
        self.view.addSubview(splashImageView)
        
        // 일정 시간 후 다음 화면으로 전환
        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
            let mainViewController = MainViewController()
            self.present(mainViewController, animated: true, completion: nil)
        }
    }
}

위의 코드에서 SplashImage는 스플래시 이미지 파일의 이름입니다. 해당 이미지 파일은 앞서 생성한 스플래시 이미지로 대체해야 합니다.

viewDidLoad() 메소드에서는 스플래시 이미지 뷰를 생성하고 화면에 추가한 후, 일정 시간(여기서는 2초) 후에 다음 화면으로 전환하는 코드가 있습니다.

3. AppDelegate에서 스플래시 화면 실행

스플래시 화면을 앱이 실행될 때 자동으로 실행되도록 AppDelegate에서 설정해야 합니다. AppDelegate에 아래 코드를 추가하세요.

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {        
        self.window = UIWindow(frame: UIScreen.main.bounds)
        let splashViewController = SplashViewController()
        
        self.window?.rootViewController = splashViewController
        self.window?.makeKeyAndVisible()
        
        return true
    }
}

위의 코드에서 SplashViewController()를 생성하여 rootViewController로 설정합니다. 이렇게 하면 앱이 실행될 때 스플래시 화면이 먼저 보여지게 됩니다.

결론

이제 앱의 스플래시 화면을 구현하는 방법에 대해 알게 되었습니다. 스플래시 화면은 앱의 로딩 시간을 가려주고, 사용자에게 앱이 시작되고 있음을 알려주는 중요한 역할을 합니다.

시간이 지남에 따라 앱을 개선해 나갈 때마다 스플래시 화면도 변경될 수 있으니, 앱의 브랜딩과 일치하도록 주기적으로 업데이트하는 것이 좋습니다.