[iOS-opensource] snapkit, then -1. 설정

miori·2021년 4월 19일
0

ios-opensource

목록 보기
3/4

우선, 기본적으로 프로젝트를 실행하면 스토리보드의 첫 화면이 나오게 된다.
하지만 목표는 스토리보드를 사용하지 않는 것이기 때문에, 실행 했을때의 첫화면을 내가 작성할 viewcontroller 로 연결을 해줄 필요가 있다.

우선, SceneDelegate.swift 파일에서 설정을 바꿔줄 수 있다.

SceneDelegate.swift 는 iOS 13 버전부터 생기게 되었는데 과연 왜 생겼고, 무슨역할을 하는지 먼저 알아보았다.

WWDC2019에서 관련 내용을 내가 이해한바로는, 다음과 같다.

application은 하나의 process를 공유하지만, 여러개의 interface instance나 scene sessions을 가질수 있기때문에 기존의 App Delegate의 변경이 필요했다.
따라서, UI lifecycle을 다룰 UIScene Delegate가 나오게 되었다.

다시 본론으로 돌아와, 그럼 어떻게 바꾸냐? 에 대한 답을 이어가도록 하겠다.

//guard let _ = (scene as? UIWindowScene) else { return }
guard let scene = scene as? UIWindowScene else { return }
        
// Window 설정
self.window = UIWindow(windowScene: scene)
window?.rootViewController = FirstViewController()
window?.makeKeyAndVisible()

위와 같은 코드를 추가했다.
rootViewController 를 내가 작성한 controller로 지정해주면 된다.

makeKeyAndVisible에 대해 궁금해서 찾아보았다.
window?.makeKeyAndVisible() 의 의미는 apple 공식 document uikit 에 잘 나와있다. 링크 apple documentation - uikit - uiwindow

This is a convenience method to show the current window and position it in front of all other windows at the same level or lower.

profile
iS를 공부하는 miori 입니다.

0개의 댓글