问题解决了!:
只要检查“统一标题和工具栏”选项的NSWindow和1像素向下的问题消失了!

若要更改工具栏高度,只需在“大小”检查器中选择工具栏项-自定义视图并更改大小。
==============================
如果您知道Xcode 5s的布局,那么您应该认识到这一点:

我想为我自己建造它。因此,我在窗口中拖动一个工具栏,并添加了一个NSPopUpButton。然后,我将PopUp按钮单元格样式更改为收音机,并关闭了箭头。到目前一切尚好。

我注意到的第一件事是工具栏有不同的高度。有人知道如何改变这种行为(而不对NSToolbar进行子类划分)吗?
我注意到的第二个也是更令人讨厌的事情是,如果我从PopUp按钮中选择一个项目,NSMenuItem的图像会向下移动1个像素。
编辑: Xcode NSMenuItems不向下移动1个像素

对那件事有什么建议吗?
发布于 2014-01-12 01:45:13
遗憾的是,NSToolbar不能真正被子类化。它是一个写得不好的类,它试图变得非常“神奇”,所以它甚至不是NSView的子类--您根本无法控制它的绘制方式,它创建了一个私有视图。
您可以设置它的“sizeMode”,但我假设您已经这样做了,并发现像素的数量不是您想要的。
最简单的方法就是在窗口顶部(文档内容上方)为小部件留出空间,并让自动收费表为您定位按钮。(由于NSToolbar的局限性,多年来我无法真正使用它。)
至于popUp菜单与按钮不对齐:菜单绘制的地方基本上是硬编码的,所以如果您使用NSPopUpButton不期望的按钮样式,那么菜单就会被部分抵消。
如果您已经尝试过取消检查默认样式NSPopUpButton上的“绘制边框”标志(其中一个是刚从调色板上取下来的),那么有两种解决方案可以尝试:一种是继续尝试不同的buttonStyles,在您看来是正确的,直到您找到一个没有偏移的。两种方法是保留buttonStyle,为NSPopUpButtons做默认操作,但将buttonCell子类化,使其不绘制边框(但仍为其留出空间)。
https://stackoverflow.com/questions/21067960
复制相似问题