[swift] ChameleonFramework를 사용한 스플래시 화면 구현

스플래시 화면은 앱을 시작할 때 사용자에게 로딩 중임을 알려주는 역할을 합니다. 이번에는 ChameleonFramework를 이용하여 스플래시 화면을 만들어보겠습니다. ChameleonFramework는 iOS 앱의 UI를 쉽게 커스터마이징할 수 있는 도구입니다.

ChameleonFramework 설치와 적용

  1. 프로젝트에 ChameleonFramework를 설치합니다. Cocoapods를 사용한다면 pod 'ChameleonFramework' 명령어를 Podfile에 추가하고 pod install 명령어를 실행합니다.

  2. 스플래시 화면을 구현할 UIViewController를 생성합니다.

import UIKit
import ChameleonFramework

class SplashViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let splashView = UIView(frame: self.view.bounds)
        splashView.backgroundColor = UIColor.flatSkyBlueColor()

        self.view.addSubview(splashView)

        // 스플래시 화면을 일정 시간동안 보여준 후에 메인 화면으로 전환
        DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
            self.showMainViewController()
        }
    }

    func showMainViewController() {
        let mainViewController = MainViewController()
        self.navigationController?.pushViewController(mainViewController, animated: true)
    }
}
  1. AppDelegate.swift 파일에서 앱 실행 시 스플래시 화면이 나타나도록 설정합니다.
import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        // UIWindow 객체 생성
        self.window = UIWindow(frame: UIScreen.main.bounds)
        
        // 앱 실행 시 스플래시 화면을 보여줌
        let splashViewController = SplashViewController()
        let navigationController = UINavigationController(rootViewController: splashViewController)
        self.window?.rootViewController = navigationController
        
        // UIWindow를 키 윈도우로 설정하고 화면에 표시
        self.window?.makeKeyAndVisible()
        
        return true
    }
}
  1. 앱을 빌드하여 실행해보면, 스플래시 화면이 나타나고 일정 시간이 지난 후에 메인 화면으로 전환됩니다.

결론

ChameleonFramework는 다양한 색상 테마와 스타일로 iOS 앱의 UI를 커스터마이징하는 데 유용한 도구입니다. 스플래시 화면을 구현할 때 ChameleonFramework를 이용하면 쉽고 빠르게 화면을 디자인할 수 있습니다.