【发布时间】:2018-07-13 15:14:49
【问题描述】:
我正在通过状态栏中的图标操作打开NSPopover。
myPopover.show(relativeTo: button.bounds, of: button, preferredEdge: NSRectEdge.minY)
除了弹出框和系统栏的距离为零之外,这可以正常工作:
我想实现与 Dropbox 应用相同的结果,它在距系统栏一小段距离处呈现弹出框:
我尝试使用button.bounds.offsetBy(dx: 0.0, dy: 20.0),它不会影响弹出框的位置,button.bounds.offsetBy(dx: 0.0, dy: -20.0) 将弹出框置于系统栏上方:
那么我怎样才能将NSPopover 定位在离系统栏一定距离的地方呢?
【问题讨论】:
-
在黑暗中拍摄,但您是否尝试过不同的坐标系?类似
myPopover.show(relativeTo: button.frame.insetBy(dx: 0.0, dy: -8.0), of: button.superview, preferredEdge: NSRectEdge.minY) -
刚试了一下,不管是正值还是负值都没有效果。
标签: swift macos cocoa nspopover nsstatusbar