【问题标题】:Use combined titlebar + toolbar while preserving title visibility在保留标题可见性的同时使用组合的标题栏 + 工具栏
【发布时间】:2015-03-21 01:05:00
【问题描述】:

“系统偏好设置”应用程序具有组合的标题栏和工具栏,带有垂直居中的按钮和标题。我试图在我的应用程序中完全模仿这一点。我已经能够使用 Interface Builder 组合标题栏和工具栏(在 NSWindow 检查标题栏和统一标题和工具栏),但这不会垂直居中内容。我通过this question 发现,您可以简单地将窗口的titleVisibility 设置为NSWindowTitleHidden,这将使红绿灯按钮垂直居中。不幸的是,这当然隐藏了标题。如何在统一的标题栏/工具栏中垂直居中内容并像系统偏好一样显示窗口的标题 - 无论是在 IB 中还是以编程方式?

【问题讨论】:

  • 有任何状态更新吗?
  • @DalmazioBrisinda 刚刚发布了我找到的唯一解决方案

标签: macos interface-builder nswindow nstoolbar


【解决方案1】:

我最终将titleVisibility 设置为NSWindowTitleHidden 并手动创建了一个NSView,其中包含一个模仿标准标题外观的NSTextField,并将其提供给窗口的addTitlebarAccessoryViewController 方法。如果可能的话,仍然希望找到更好的解决方案来使用默认标题外观。

【讨论】:

  • 谢谢@joey。我很快就会发布一个不同的解决方案。
  • 但这不适用于文档应用,因为文档标题具有更多本机功能
【解决方案2】:

我在 GitHub 上使用了WAYAppStoreWindow 来执行此操作。我创建了WAYWindow 子项目的一个分支,以将文档标题垂直居中,因为不支持此功能。这意味着任何应用的主题/外观都会得到尊重。

【讨论】: