无法编辑 NSWindow 的工具栏 - Cocoa
Posted
技术标签:
【中文标题】无法编辑 NSWindow 的工具栏 - Cocoa【英文标题】:Can't Edit NSWindow's Toolbar - Cocoa 【发布时间】:2011-05-18 22:49:58 【问题描述】:所以我用的是方法:
[someWindow setContentBorderThickness:24.0 forEdge:NSMaxYEdge];
但我似乎无法让工具栏增加高度。它只是保持与默认相同。有人可以在这里阐明一下吗?
【问题讨论】:
【参考方案1】:NSToolbar
会自动调整大小以适应最高 NSToolbarItem
的高度。标准(大)工具栏项目都是 32 px 高,所以工具栏不需要变大。如果您执行添加自定义视图工具栏项之类的操作,则会调整其大小以适应该项,如下图所示:
(为了完成上面显示的结果,我在 IB 中单击了两次工具栏以调出“允许的工具栏项”工作表,然后将库调色板中的 NSView
自定义视图拖到该工作表上)。
附:我建议谨慎使用此功能。
【讨论】:
谢谢NSGod! (大声笑,好名字)。我会试一试,然后告诉你结果。【参考方案2】:您不能为NSToolbar
指定任意高度。但是,您可以指定大小模式。带有 24x24 像素图标的工具栏具有小尺寸模式:
[toolbar setSizeMode: NSToolbarSizeModeSmall];
相当于 Interface Builder 的 Attributes Inspector 中的 Size: Small。
【讨论】:
所以我在做 [[window toolbar] setSizeMod: NSToolbarSizeModeSmall];它的大小保持不变。为什么不改变?我只是想放大工具栏的大小。 @Kevin 请改用NSToolbarSizeModeRegular
。只有两种尺寸:普通或小号。
... 否则,您将不得不摆脱工具栏,只需使用 -setContentBorderThickness: 来定义您用作自定义工具栏的区域。正如 Bavarious 所说,官方工具栏(NSToolbar)只有两种尺寸。如果你想要自定义的东西,你必须自己做(没有 NSToolbar)。这就是 -setContentBorderThickness: for top edge 的样子。
天啊,我不想为了增加高度而创建一个全新的工具栏。顺便说一句,Bavarious NSToolBarSizeModeRegular 也不让步。以上是关于无法编辑 NSWindow 的工具栏 - Cocoa的主要内容,如果未能解决你的问题,请参考以下文章