라벨이 storyboard인 게시물 표시

Xcode에서 storyBoard없이 개발하기 - Tabbar 만들기

이미지
Xcode에서 storyBoard없이 개발하기 - Tabbar 만들기 개인적으로는 스토리보드를 가지고 개발하는 것이 좋다고 생각합니다. 하지만 스토리 보드 없이 개발을 하면 완벽하게 어떤 과정이 UI적인 storyBoard를 통해서 동작하는지 알 수 있기 때문에 만들면서 공부하면서 기록을 남겨놓습니다. 스토리 보드없이 개발 할 수있는 환경을 구축했다면, Tabbar를 사용해서 2개의 tabbarItem을 가진 앱을 만들어 봅시다. 구조 스토리 보드가 없기 때문에 어떤 구조를 가지고 있는지 머리에 명확히 가지고 시작해야 합니다. 우리가 만들 앱의 큰 틀은 하나의 tabbar에 2개의 view가 각각 navigationController로 조작을 하는 구조입니다. tabbarController 추가 window?.rootViewController 부분에 rootViewController를 설정해주어야합니다. 우리는 tabbar를 컨트롤 할 tabbarController 를 할당해 주겠습니다. let tabbar = UITabBarController() UITabBar.appearance().tintColor = .systemGreen tabbar.viewControllers = [네비게이션컨트롤러1, 네비게이션컨트롤러2] window?.rootViewController = tabbar 이렇게 2개의 네비게이션 컨트롤러를 tabbar에 추가해 줄 수 있습니다. 각 view추가 tabbar를 만들었으니 이제 각 탭을 넣었을 때, 호출할 view들을 추가해줍니다. // first tabBarItem let searchVC = SearchVC() searchVC.title = "search" searchVC.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0) UINavigationController(rootViewCont...

Xcode에서 storyBoard없이 개발하기 - 뷰 하나 띄우기

이미지
storyBoard없이 개발하기 UIViewController를 storyBoard없이 만들기 IOS를 개발하다보니, storyBoard를 가지고 개발하는 경우와 없이 개발하는 방법 두 가지가 혼재되어있어, 이번 기회에 storyBoard없이 개발하는 방법에 대해 공부해보려 한다. 스토리 보드 없이 코드만으로 화면을 구성하려면, 스토리 보드만 지우면 되는게 아닌 메인 인터페이스 설정 및 코드상에서 window에 대한 설정을, 진입점을 잡아줘야 한다. 환경 설정 스토리 보드 지우기 -> 실행 (Thread 1: Exception: "Could not find a storyboard named ‘Main’ in bundle NSBundle) Project -> General -> Main interface -> 공백입력 info.plist -> Application Scene Manifest -> Storyboard Name -> 줄 전체 삭제 -> 실행 (Thread 1: Exception: "Invalid parameter not satisfying:) iOS 13 이상만) iOS 13 이전에는 모든 장면 기능이 AppDelegate.swift 클래스에 있었으며 이제는 SceneDelegate.swift라는 별도의 클래스에 있습니다. SceneDelegate.swift 에서 프로젝트를 설정하겠습니다. 아래와 같은 코드를 SceneDelegate.swift 에서 작성(수정)합니다. func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } ...