인디노트

Swift 의 class 안에서 다른 ViewController 를 여는 방법 본문

소스 팁/Objective C, Swift, iOS, macOS

Swift 의 class 안에서 다른 ViewController 를 여는 방법

인디개발자 2021. 4. 17. 09:35

Swift 에서 다른 ViewController 를 Open 하는 방법에 대해서 많은 자료를 검색 했지만 다음과 같은 방법이 가장 심플하다.

func openScreenCaptureViewController() -> Void {
  let screenCaptureViewController = ScreenCaptureViewController(nibName: "ScreenCaptureViewController", bundle: nil)
  let screenCaptureViewWindow = NSWindow(contentViewController: screenCaptureViewController)
  screenCaptureViewWindow.makeKeyAndOrderFront(self)
  let windowViewController = NSWindowController(window: screenCaptureViewWindow)
  windowViewController.showWindow(self)
}

예를 들어 나의 경우 다음과 같이 ScreenCaptureViewController.swift 를 StatusBarController.swift 안에서 호출하는 방식을 구현한 예이다.

반응형
Comments