Cocoa - представьте NSViewController программно LIKE Show в раскадровке (не будучи модальным)

Я пытаюсь представить NSViewController, и доступно 3 API.

presentAsModalWindow()

presentAsSheet()

present(....) for popover

Но я хочу просто представить без ViewController, чтобы он стал модальным. Я обнаружил, что в раскадровке есть опция «Показать». Если вы соединитесь с каким-либо действием, оно представит контроллер представления и не будет модальным. Но в коде я не могу найти аналогичный вариант.

ПРИМЕЧАНИЕ. Я хочу, чтобы он отображался точно так же, как с presentAsModal, но NewController не является модальным.


person Ankur Prakash    schedule 12.10.2019    source источник


Ответы (1)


Я нашел решение. Нам нужно создать новое окно и встроить в него новый контроллер окна.

    let vc = MyViewController()
    let myWindow = NSWindow(contentViewController: vc)
    myWindow.makeKeyAndOrderFront(self)
    let windowVC = NSWindowController(window: myWindow)
    windowVC.showWindow(self)
person Ankur Prakash    schedule 12.10.2019