为什么我在尝试添加标题栏附件视图时出现异常"titlebarViewController not supported for this window style"



我正在尝试在应用程序中添加标题栏附件视图。对于其中一个测试版,我得到了一个例外:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'titlebarViewController not supported for this window style' 

这一行发生异常:

[window addTitlebarAccessoryViewController:vc];

知道是什么原因造成的吗?我能以某种方式检查代码中的崩溃情况吗?如果出现这种情况,我可以禁用添加标题栏附件视图吗?

当窗口不显示标题栏(NSTitledWindowMask==0)时,会发生异常。因此,可以按照以下方式进行检查:

NSWindow *window = self.view.window;
if ((window.styleMask &  NSTitledWindowMask) == 0){
// Ignore if no title bar on window
return;
}

但我们的代码中还有另一个问题。当应用程序在全屏模式下启动时,self.view.window返回不同的窗口NSToolbarFullScreenWindow,因为该视图是另一个标题栏附件视图(工具栏)的一部分,而在全屏模式中,它有不同的父窗口。

在不知道窗口类型和OS X版本的情况下,我真的帮不上忙。但是,您可以对异常做出反应。

有关处理异常,请参阅苹果的文档

相关内容

  • 没有找到相关文章

最新更新