2017-07-09 41 views

回答

0

雖然我真的不知道爲什麼這是不可能通過在Interface Builder拖移,您仍然可以通過手動使用目標呈現酥料餅/行動機制。您的工具欄按鈕將調用像presentFooPopover(:)這樣的操作,該操作會調用NSViewControllerpresentViewController(_ viewController: NSViewController, asPopoverRelativeTo positioningRect: NSRect, of positioningView: NSView, preferredEdge: NSRectEdge, behavior: NSPopover.Behavior)在某個視圖中顯示某個位置的彈出窗口的目標視圖控制器。

呈現視圖控制器(您呼叫presentViewController...)不必擁有您用於定位的視圖。請注意,positioningRect必須位於positioningView的座標系中,因此通常使用視圖的bounds

將所有這些放在一起,您可以將按鈕(sender在您的動作中)作爲定位視圖並使用其邊界。負責呈現彈出窗口的視圖控制器可以是你的窗口控制器或窗口的內容視圖控制器(或者是當彈出窗口仍然呈現時不會消失的任何東西,這也會消除彈出窗口)。