iOS 앱을 개발할 때, 앱을 시작할 때 런치 이미지를 보여주고 다른 뷰 컨트롤러로 이동하는 경우가 많이 있습니다. 이번 가이드에서는 Swift 언어를 사용하여 런치 이미지를 전면에 띄우고 다른 뷰 컨트롤러로 연결하는 방법을 알아보겠습니다.
1. LaunchScreen.storyboard 생성하기
먼저, LaunchScreen.storyboard 파일을 생성해야 합니다. Xcode의 프로젝트 네비게이터에서 File -> New -> File
을 선택한 후, iOS 탭에서 “Launch Screen”을 선택하여 생성합니다.
2. LaunchScreen.storyboard 에 이미지 뷰 추가하기
LaunchScreen.storyboard 에서 이미지 뷰를 추가하여 런치 이미지를 표시할 준비를 해야 합니다. 디바이스 크기에 따라 다른 이미지를 사용하도록 이미지 뷰의 이미지 설정을 조정할 수도 있습니다.
3. 특정시간 이후 다음 뷰 컨트롤러로 이동하기
앱을 시작할 때 런치 이미지를 표시한 후, 일정 시간이 지난 뒤에 다음 뷰 컨트롤러로 이동하도록 코드를 작성해야 합니다. 이를 위해 DispatchQueue.main.asyncAfter(deadline: .now() + 시간)
을 사용합니다.
import UIKit
class LaunchViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
self.navigateToNextViewController()
}
}
private func navigateToNextViewController() {
// 다음 뷰 컨트롤러로 이동하는 코드 작성
}
}
위 코드에서는 navigateToNextViewController
메서드를 호출하여 다음 뷰 컨트롤러로 이동합니다. 해당 메서드에는 다음 뷰 컨트롤러로 이동하는 코드를 작성해야 합니다.
4. Main.storyboard 에서 다음 뷰 컨트롤러 추가하기
navigateToNextViewController
메서드에서 다음 뷰 컨트롤러로 이동하려면, Main.storyboard 에서 해당 뷰 컨트롤러를 추가해야 합니다. 그리고 이동하고자 하는 뷰 컨트롤러에 해당하는 클래스를 설정해야 합니다.
5. 이동하는 코드 작성하기
다음 뷰 컨트롤러로 이동하는 코드를 작성해야 합니다. 이는 navigationController?.pushViewController
메서드를 사용할 수 있습니다.
private func navigateToNextViewController() {
let nextViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NextViewController")
navigationController?.pushViewController(nextViewController, animated: true)
}
위 코드에서는 “NextViewController”에 해당하는 뷰 컨트롤러를 찾아서 pushViewController
메서드로 이동합니다.
6. AppDelegate.swift 파일 수정하기
마지막으로, AppDelegate.swift 파일을 수정하여 앱이 시작될 때 LaunchViewController 가 시작 뷰 컨트롤러로 설정되도록 해야 합니다.
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let launchViewController = UIStoryboard(name: "LaunchScreen", bundle: nil).instantiateInitialViewController() as! LaunchViewController
let navigationController = UINavigationController(rootViewController: launchViewController)
window?.rootViewController = navigationController
window?.makeKeyAndVisible()
return true
}
위 코드에서는 instantiateInitialViewController
메서드를 사용하여 LaunchViewController를 가져온 뒤, 이를 시작 뷰 컨트롤러로 설정합니다. 그리고 UINavigationController 로 둘러 싸서 화면에 표시합니다.
이제 앱을 실행하면 런치 이미지를 전면에 띄운 후, 설정한 시간이 지난 후 다음 뷰 컨트롤러로 이동하는 것을 확인할 수 있습니다.
이 가이드는 Swift 언어를 사용하여 런치 이미지를 전면에 띄우고 다른 뷰 컨트롤러로 연결하는 방법을 안내했습니다. Swift 언어와 iOS 앱 개발에 관심이 있다면, iOS 앱 개발 가이드를 참고하세요.