我想我在我的应用程序NSToolbar,剩下的标题栏的一部分后添加“第二排”。 作为一个例子,邮件具有NSToolbar低于细灰分隔线与低于一些额外的项目。 很明确,当窗口被置于全屏模式,即第二个“行”仍保持接合的标题栏,因为它的系统菜单栏下的下滑。 Xcode中也有类似的故事。
我尝试设置我的NSWindow到纹理,并直接把我的第二排控制窗口的内容视图。 虽然这看起来大多在窗口模式下是正确的,当然这些控件不会出现滑动时在全屏模式下连接到工具栏。 所以,我怎么能达到同样的行为Mail和Xcode的呢? 我已经看了很多的工具栏自定义代码,但没有人真正涵盖这种特殊情况下。
我需要做的是调用[NSToolbar setFullScreenAccessoryView:]
我的工具栏下的视图。 这导致我的目标是为行为。 见NSToolbar文档此方法。
fullScreenAccessoryView
在MacOS的10.10弃用
为了在最新版本的MacOS要做到这一点,使用addTitlebarAccessoryViewController
上你的方法NSWindow
和传递的子类NSTitlebarAccessoryViewController
。
例如:
NSTitlebarAccessoryViewController *accessoryViewController = [[NSStoryboard storyboardWithName:@"Main" bundle:nil] instantiateControllerWithIdentifier:@"AccessoryViewController"];
[self.mainWindowController.window addTitlebarAccessoryViewController:accessoryViewController];
第一个是正常的工具栏。 对于第二个工具栏,您可以创建所需的高度的一个单独的视图,并在主着陆窗口添加。