我有一个从NSStatusItem显示的NSPopover。这个Popover不时显示NSAlerts。问题是这些警报总是出现在弹出窗口下方,即使它们成为关键窗口。即使我拖了它,它仍然在弹出窗口下面。有没有办法让警报高于弹出窗口?
答案 0 :(得分:0)
一种解决方法是使用方法beginSheetModal
而不是runModal
显示NSAlert。使用beginSheetModal
,您必须指定与弹出框关联的窗口以将工作表附加到该窗口,并且需要使用完成处理程序。通过将工作表附加到弹出窗口,您至少可以确保NSAlert将显示在弹出窗口的前面。
对于我来说,更改NSAlert的NSStatusWindowLevel不会将警报移到弹出窗口的前面。这可能与NSAlerts初始化的特定方式有关。
答案 1 :(得分:0)
这将起作用:DispatchQueue.main.async { alert.window.level = .popUpMenu } // moves the alert above statusbar app