1. 신규 프로젝트 생성
상단 메뉴바 File->New->Project
Interface: Storyboard
Language: Objective-C
2. 스토리보드 제거
a. 좌측 네비게이터에서 Main 스토리보드 파일 제거
b. 좌측 네비게이터에서 Info.plist 확인 후 토글 전체 펼쳐
Window Application Session Role의 Item에서 Storyboard Name 삭제
c. 좌측 네비게이터에서 프로젝트 선택 후
Build Settings -> Info.plist Values의 UIKit Main Storyboard File Base Name 삭제
3. Scene 설정
* iOS 13 이후 윈도우, 뷰 관련 설정은 SceneDelegate를 통하도록 변경됨.
SceneDelegate.m 파일에서 scene메서드 수정(윈도우 및 컨트롤러 설정)
(기본으로 최상단 네비게이션 컨트롤러를 사용한다는 가정의 예시 코드이다.)
// SceneDelegate.m
// 사용할 초기 뷰컨트롤러 헤더파일 임포트
#import "ViewController.h"
@implementation SceneDelegate
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnecitonOPtions*)connectionOptions {
UIWindowScene *windowScene = (UIWindowScene *)scene;
self.window = [[UIWindow alloc] initWithFrame:windowScene.coordinateSpace.bounds];
self.window.windowScene = windowScene;
//root viewController
ViewController *viewController = [[ViewController alloc] init];
//최상단 네비게이션 컨트롤러
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
//윈도우의 루트 뷰컨트롤러로 최상단 네비게이션 컨트롤러 설정
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
}
@end
'UIKit > UIKit' 카테고리의 다른 글
Objective-C 생체 인증(Bio Authentication) (0) | 2024.06.04 |
---|---|
Objective-C 카메라, 앨범 권한 요청 (0) | 2024.06.04 |
init(frame:) & init(coder:) (0) | 2023.04.11 |
DequeueReusableCell ?? 테이블뷰와 셀 (0) | 2023.02.28 |
Could not insert new outlet connection (.xib) (0) | 2023.02.27 |