Jak*_*les 5 cocoa nswindow nstoolbar
我试图在我的应用程序的NSToolbar之后添加“第二行”,该行仍然是标题栏的一部分。例如,Mail在NSToolbar下方有一条细的灰色分隔线,并在其下方有一些其他项目。具体地说,当窗口进入全屏模式时,第二个“行”将在系统菜单栏下方向下滑动时保持与标题栏的连接。Xcode也有类似的故事。

我尝试将NSWindow设置为纹理并将第二行控件直接放置在窗口的内容视图中。尽管这在窗口模式下看起来大部分是正确的,但是当工具栏在全屏模式下向下滑动时,这些控件当然不会显示在工具栏上。那么如何实现与Mail和Xcode相同的行为?我看了很多工具栏自定义代码,但是没有一个能真正涵盖这种特定情况。

fullScreenAccessoryView 在 macOS 10.10 中已弃用
为了在最新版本的 macOS 中执行此操作,请使用addTitlebarAccessoryViewController您的方法NSWindow并传入NSTitlebarAccessoryViewController.
例如:
NSTitlebarAccessoryViewController *accessoryViewController = [[NSStoryboard storyboardWithName:@"Main" bundle:nil] instantiateControllerWithIdentifier:@"AccessoryViewController"];
[self.mainWindowController.window addTitlebarAccessoryViewController:accessoryViewController];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1894 次 |
| 最近记录: |