我可以将NSToolbarItem置于工具栏中吗?

dav*_*vid 8 macos cocoa

就是这样.我想把两个按钮居中.我的工具栏看起来像这样([B]是一个按钮):

[B] <----灵活空间---> [B] [B] <----灵活空间---> [SearchBar]

但是搜索栏比最左边的按钮大,所以中间按钮不居中.我尝试添加一个具有自定义宽度的视图,但这被本地化搞砸了.有没有办法让他们居中?

tar*_*mes 11

一个非常迟来的响应,但由于我还需要这样做,我刚刚编写了一个子类,它将创建一个空间来居中下一个工具栏项:

http://github.com/timothyarmes/TAAdaptiveSpaceItem

  • 是的,我需要补充一点.我将添加MIT许可证,以便您可以假设您可以随意使用它... (2认同)

rob*_*off 7

如果部署目标是macOS 10.14(Mojave)或更高版本,则可以通过将工具栏的centeredItemIdentifier属性设置为要居中的项的标识符来居中工具栏项.

这是为中心,包含当你已经设置窗口的窗口标题栏项titleVisibilityNSWindowTitleHidden.在其他情况下,它可能无法正常工作.


Wil*_*and 0

将事物居中,或者确实控制按钮顺序之外的布局,虽然可以使用工具栏,但不一定是个好主意。

编辑:我注意到 Mail.app 确实使用 Voodoo 来做一些与您建议的非常相似的事情。

他们通过跟踪工具栏项目并调整工具栏中第一个灵活空间的大小以对齐工具栏来实现此目的。

这可能适用于某些用例,但可能很脆弱;请谨慎使用,并且请记住,如果用户可以自定义工具栏,他们很可能会删除灵活的空间,从而弄乱您的居中位置。

  • 虽然这个问题已经过时,但这将复制与 mail.app https://github.com/jwells89/JWToolbarAdaptiveSpaceItem 相同的行为 (2认同)