如何解决10.15中的PrefPane不会重新打开外部窗口
“我的首选窗格”为每个显示器打开一个窗口,类似于“显示器首选面板”的工作方式。首次启动时,操作系统会调用mainViewDidLoad
到我的initWithWindowNibName
上,以便在其中打开外部窗口。效果很好。
然后在willUnselect
中,我为每个外部窗口调用[window orderOut:self];
,它们正确隐藏了。例如,如果用户从我的PrefPane切换到声音或网络PrefPane,则会发生这种情况。
当他们回到我的PrefPane时,我得到willSelect
并致电:
[window orderWindow:NSWindowAbove relativeTo:0];
此调用不再起作用(它在10.14.6和更低版本的所有版本中都可以使用,并且可能在10.15的早期版本中可以使用,但肯定在10.15.6中已中断)。
我尝试使用其他方法来隐藏/显示包含[window setIsVisible:]
的窗口,但是恢复该窗口没有任何作用。
我认为这可能与该博客讨论的内容有关
https://www.noodlesoft.com/blog/2019/08/28/preference-panes-and-catalina/
有人看到过此消息或知道解决方法吗?
解决方法
使用 Apple DTS 后,这是预期行为,因为 PrefPanes 现在在单独的进程中运行,并且该进程不希望窗格打开其他窗口。
仍然可以在 didSelect 中打开/关闭窗口,但这更多的是副作用,从长远来看可能不起作用。我们已决定将我们的软件从“系统偏好设置”中移到常规应用程序中,以确保长期兼容性。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。