[Dev, iOS] Storyboard 없이 첫 화면을 구성하는 법

2022. 1. 13. 11:03·Dev/iOS
728x90

storyboard로 개발을 하는게 더 편리하고  쉽지만, 가끔은 SnapKit 라이브러리를 활용하여 코드로 화면을 짤 수도 있습니다. Project를 생성하고, 기본으로 포함되어있는데 ViewController에 바로 개발을 할 수는 있지만, 굳이 필요 없는 무거운 파일들을 앱에 포함시킬 필요는 없어요.

 

1. ViewController 삭제

 

2. Info.plist > Information Property List > Application Scene Manifest > Scene Configuration > Application Session Role > Item 0 > Storyboard Name 삭제

 

3. Ctrl + N -> 새로운 VC 생성

 

4. SceneDelegate에 해당 코드 작성

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        
        // windowScene을 옵셔널로 선언하여 window에 할당
        guard let windowScene = scene as? UIWindowScene else { return }
        self.window = UIWindow(windowScene: windowScene)
        
        /*
        우리가 원하는 VC를 window의 rootViewController로 설정하는데,
        해당 코드에서 VC의 이름은 ViewController이며 NavigationController를 입혀준거라
        navigationViewController에 ViewController를 넣고 이 전체를 window의 rootViewController로 선언하는 과정
        */
        
        let rootViewController = ViewController()
        let rootNavigationViewController =  UINavigationController(rootViewController: rootViewController)
        
        self.window?.rootViewController = rootNavigationViewController
        self.window?.makeKeyAndVisible()
    }

여기까지 작성하고 build해보면, 우리가 원하는 첫 화면이 잘 표현됩니다.

728x90

'Dev > iOS' 카테고리의 다른 글

[Dev, iOS] Storyboard를 활용한 화면 전환 4가지 방법  (0) 2022.01.14
[Dev, iOS] Swift Package Manager 사용하기 (Xcode 13)  (0) 2022.01.13
[Dev, iOS] 백그라운드 진입 시 민감한 정보 가리기  (0) 2021.12.21
[Dev, iOS] 배경을 Gradient로 색칠하기  (0) 2021.12.06
[Dev, iOS] 디테일한 다크모드 적용하기  (1) 2021.02.06
'Dev/iOS' 카테고리의 다른 글
  • [Dev, iOS] Storyboard를 활용한 화면 전환 4가지 방법
  • [Dev, iOS] Swift Package Manager 사용하기 (Xcode 13)
  • [Dev, iOS] 백그라운드 진입 시 민감한 정보 가리기
  • [Dev, iOS] 배경을 Gradient로 색칠하기
100두산
100두산
출발하게 만드는 힘이 동기라면, 계속 나아가게 만드는 힘은 습관이다.
  • 100두산
    정상에서 보자 ✈️
    100두산
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • Life (6)
        • living (1)
      • Research (6)
      • AI (20)
      • Dev (45)
        • iOS (28)
        • Web (4)
        • flutter (9)
        • etc (4)
      • PS (Problem Solving) (23)
      • Computer Science and Engine.. (21)
        • Data Structures and Algorit.. (13)
        • OOP (Object Oriented Progra.. (8)
      • etc (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    PS
    D3
    c++
    자료구조
    파이썬
    Python
    AI
    Challenger
    swift
    SKT
    xcode
    SKTelecom
    알고리즘
    ios
    백준
    BOJ
    백트래킹
    TIP
    오블완
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
100두산
[Dev, iOS] Storyboard 없이 첫 화면을 구성하는 법
상단으로

티스토리툴바