[swift] ChameleonFramework를 사용한 스플래시 화면 구현
스플래시 화면은 앱을 시작할 때 사용자에게 로딩 중임을 알려주는 역할을 합니다. 이번에는 ChameleonFramework를 이용하여 스플래시 화면을 만들어보겠습니다. ChameleonFramework는 iOS 앱의 UI를 쉽게 커스터마이징할 수 있는 도구입니다.
ChameleonFramework 설치와 적용
-
프로젝트에 ChameleonFramework를 설치합니다. Cocoapods를 사용한다면
pod 'ChameleonFramework'
명령어를 Podfile에 추가하고pod install
명령어를 실행합니다. -
스플래시 화면을 구현할 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)
}
}
- 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
}
}
- 앱을 빌드하여 실행해보면, 스플래시 화면이 나타나고 일정 시간이 지난 후에 메인 화면으로 전환됩니다.
결론
ChameleonFramework는 다양한 색상 테마와 스타일로 iOS 앱의 UI를 커스터마이징하는 데 유용한 도구입니다. 스플래시 화면을 구현할 때 ChameleonFramework를 이용하면 쉽고 빠르게 화면을 디자인할 수 있습니다.