#This document will be continuously updated.

내가 쓴 글을 소스로 끌로드와 chatgpt 에 넣어서 갈았다. 간단히 물어보는 것보다 직접 쓴 글 전체를 소스로 제공하는게 내가 하고자 하는 질문에 더 가까운 답이 되어 내가 복습하기 좋고 다른 사람 지식에도 도움되기 때문. 텍스트 분야에 한해서 [AI 믹서기] 라는 표현을 만들고 쓰고 싶다.

내 글을 AI 믹서기에 넣고 갈았다.

iOS & Swift - 스토리보드 이동 방법

1. 기본적인 방법

swift

Copy code
let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "ViewControllerIdentifier") as! CustomViewController

2. 네비게이션 컨트롤러를 사용하여 이동

2.1. 현재 뷰 컨트롤러에서 이동

swift

Copy code
self.navigationController?.pushViewController(viewController, animated: true)

2.2. 싱글톤에 저장된 네비게이션 컨트롤러 포인터를 사용하여 이동

swift

Copy code
let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "ViewControllerIdentifier") as! CustomViewController Singleton.shared.currentNavigationController?.pushViewController(viewController, animated: true)

3. 윈도우에서 뷰 컨트롤러 접근하여 이동

swift

Copy code
self.window?.visibleViewController?.navigationController?.setNavigationBarHidden(true, animated: false) self.window?.visibleViewController?.tabBarController?.tabBar.isHidden = true self.window?.visibleViewController?.navigationController?.pushViewController(viewController, animated: true)

4. 모달 형식으로 뷰 컨트롤러 표시

swift

Copy code
self.window?.visibleViewController?.present(viewController, animated: true, completion: nil)

위의 방법들을 사용하여 스토리보드에서 다른 뷰 컨트롤러로 이동할 수 있습니다. 상황에 맞는 적절한 방법을 선택하여 사용하시면 됩니다.

주의사항:

  • 스토리보드 파일 이름과 뷰 컨트롤러 식별자(Identifier)는 실제 프로젝트에 맞게 변경해야 합니다.
  • 커스텀 뷰 컨트롤러 클래스로 타입 캐스팅할 때는 해당 클래스가 정의되어 있어야 합니다.
  • 싱글톤이나 윈도우를 통해 접근할 때는 해당 객체가 올바르게 초기화되어 있는지 확인해야 합니다.

이러한 방법들을 활용하여 스토리보드 간의 이동을 원활하게 처리할 수 있습니다.

 

iOS에서의 다양한 뷰 컨트롤러 이동 방법

기본 설정

iOS 애플리케이션 개발에 있어서 뷰 컨트롤러 간의 이동은 필수적인 부분입니다. Swift와 iOS SDK를 사용하여, 사용자 인터페이스 간의 전환을 구현하는 방법은 여러 가지가 있습니다. 이 글에서는 주로 UINavigationController를 활용한 이동 방법과 윈도우를 통해 현재 보이는 뷰 컨트롤러를 변경하는 방법에 대해 다룹니다.

방법 1: UINavigationController 사용하기

  • 스토리보드 설정
    • 우선, UIStoryboard 객체를 사용하여 목적지 뷰 컨트롤러의 인스턴스를 생성합니다.
    swiftCopy code
    let storyboard = UIStoryboard(name: "TabMenu", bundle: nil) let viewController = storyboard.instantiateViewController(withIdentifier: "settings_sharing_code") as! SharingCodeController
  • 뷰 컨트롤러 이동
    • UINavigationController의 pushViewController 메서드를 사용하여, 생성된 뷰 컨트롤러로 이동합니다.
    swiftCopy code
    self.navigationController?.pushViewController(viewController, animated: true)

방법 2: 현재 보이는 뷰 컨트롤러에서 이동하기

  • 윈도우에서 현재 뷰 컨트롤러 찾기
    • 현재 보이는 뷰 컨트롤러를 찾아 navigationController의 속성을 수정하고, 새로운 뷰 컨트롤러로 이동합니다.
    swiftCopy code
    self.window?.visibleViewController!.navigationController?.setNavigationBarHidden(true, animated: false) self.window?.visibleViewController!.tabBarController?.tabBar.isHidden = true self.window?.visibleViewController!.navigationController?.pushViewController(viewController, animated: true)
    • 혹은 present 메서드를 사용하여 모달 방식으로 뷰 컨트롤러를 표시할 수 있습니다.
    swiftCopy code
    self.window?.visibleViewController!.present(viewController, animated: true, completion: nil)

이렇게 UINavigationController의 스택을 활용하거나, 현재 활성화된 윈도우에서 직접 뷰 컨트롤러를 조작하는 방법을 통해 iOS 애플리케이션 내에서 다양한 화면 전환을 구현할 수 있습니다. 이 방법들은 사용자에게 부드럽고 직관적인 인터페이스 전환 경험을 제공하는 데 도움이 됩니다.

+ Recent posts