无法编辑 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的主要内容,如果未能解决你的问题,请参考以下文章

coco图像转换成word文字识别工具怎么破解

COCO图像识别

带有底栏和主视图的 NSWindow 使用情节提要

AppDelegate (OSX) 中主 NSWindow 的引用出口

NSWindow - 调整大小时缩放所有内容

[原创工具]voc数据集转coco格式工具使用教程