UIKit/UIKit
Objective-C 코드 베이스 세팅
Toughie
2024. 6. 4. 08:45
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