Это удобный метод для представления существующего контроллера представления как всплывающего окна.
Звучит так, как будто вы хотите создать и представить новый поповер.Для этого вам нужно создать объект NSPopover
.Фактически это контроллер поповера.
Ваш NSPopover
имеет свойство contentViewController: NSViewController
, которое имеет свойство view: NSView
.Это контроллер вида и вид, которые будут отображаться во всплывающем окне.
Как вы их создаете, зависит от вас.Вы можете создать их программно, но если это многократно используемое представление, встроенное в другие файлы пера / раскадровки, я бы предложил определить представление всплывающего окна и контроллер представления в его собственном файле пера, сделав объект NSPopover
владельцем пера.Затем вы должны представить поповер так (написано в Safari):
let popover = NSPopover()
if Bundle.loadNibNamed(nibName: "MyViewPopover", owner: popover, topLevelObjects:nil) {
...
popover.show(relativeTo: view.bounds, of: view, preferredEdge: NSRectEdgeMinX)