如何使用图标

时间:2017-09-08 13:29:10

标签: macos cocoa interface-builder nstoolbar nstoolbaritem

期望的外观

我希望为我的应用制作一个工具栏,其中包含一些简单的按钮,每个按钮都有一个单色图标。这是一个类似于我想要实现的工具栏按钮的示例,来自Mail的撰写窗口:

Mail compose window toolbar buttons

请注意,这些按钮具有一致的大小,内部填充,填充和阴影。这是macOS中非常一致的样式,存在于Mail,Safari,Finder等中。这使我怀疑有一个标准化的UI组件来创建这样的按钮。

如果我使用分段控件,每个按钮看起来都正确,每个图标都正确填充:

Segmented control

现在我想添加与风格相匹配的单个按钮。

尝试1

我的第一次尝试是在工具栏中添加“按钮”(NSButton):

这导致了一个有点太短的宽按钮,并没有与分段控件对齐:

Attempt 1

尝试2

我的第二次尝试是使用分段控件,只有1段。

这导致了一个正确的形状,大小等按钮,但它相对于其标签偏离中心。

Attempt 2

当然,我可以手动调整按钮以匹配目标,但我觉得我错过了一些东西。创建这些标准按钮的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

这实际上很容易做到,你已经很接近了。 您可以使用NSButton。请注意,它有不同的样式(在NSButton.BezelStyle中定义)可供选择。默认的是在窗口和模态中使用的那个。但是对于工具栏,要匹配分段控件和搜索栏的样式,您可以选择样式.texturedRounded

您还可以通过Interface Builder设置样式。请注意,您必须选择按钮本身,而不是它周围的工具栏项。

enter image description here

要获得正确的大小,您似乎在工具栏项目中设置了图标,而不是按钮本身。

这是我的结果:

enter image description here

enter image description here