我有一个Mac菜单栏应用程序,它可以打开NSOpenPanel,这样用户就可以选择要上传的图像。但是,当我打开NSOpenPanel时,它会显示在后台,如果有意义的话,一开始是不可点击的。此外,我也尝试过在Mac上使用苹果新的PHPicker,但是当我从Mac菜单栏应用程序打开它时,它完全出了故障。我想知道是否有其他人遇到过这个问题,他们是如何解决这个问题的。先谢了!
gtlvzcf81#
关于你的第一个问题我在NSSavePanel上使用了以下代码,它将面板窗口置于堆栈的前端。
let panel = NSSavePanel() … panel.begin { … } panel.orderFrontRegardless()
来自Apple文档:前置顺序不考虑()将窗口移到其层级的前面,即使其应用程序未处于活动状态,也不会更改关键窗口或主窗口。讨论通常情况下,一个NSWindow对象不能被移动到关键窗口的前面,除非它和关键窗口在同一个应用程序中。你应该很少需要调用这个方法;它被设计为在应用程序以这样的方式协作时使用,即活动应用程序(具有键窗口)正在使用另一个应用程序来显示数据。
1条答案
按热度按时间gtlvzcf81#
关于你的第一个问题
我在NSSavePanel上使用了以下代码,它将面板窗口置于堆栈的前端。
来自Apple文档:
前置顺序不考虑()
将窗口移到其层级的前面,即使其应用程序未处于活动状态,也不会更改关键窗口或主窗口。
讨论
通常情况下,一个NSWindow对象不能被移动到关键窗口的前面,除非它和关键窗口在同一个应用程序中。你应该很少需要调用这个方法;它被设计为在应用程序以这样的方式协作时使用,即活动应用程序(具有键窗口)正在使用另一个应用程序来显示数据。