如何使用图标创建一致的工具栏按钮
How to create consistent toolbar buttons with icons
想要的外观
我想为我的应用制作一个工具栏,其中包含一些简单的按钮,每个按钮都有一个单色图标。这是一些类似于我试图实现的工具栏按钮的示例,来自 Mail 的 compose window:
请注意,这些按钮具有一致的大小、内边距、内边距和底纹。这是一种跨 macOS 的非常一致的样式,存在于 Mail、Safari、Finder 等中。这让我怀疑是否存在用于创建此类按钮的标准化 UI 组件。
如果我使用分段控件,每个按钮看起来都是正确的,每个图标都被正确填充:
现在我想添加符合样式的单个按钮。
尝试 1
我的第一次尝试是向工具栏添加“按钮”(NSButton
):
这导致了一个有点太短的宽按钮,并且没有与分段控件对齐:
尝试 2
我的第二次尝试是使用分段控件,只有 1 个分段。
这导致按钮的形状、大小等都正确,但相对于其标签偏离了中心。
当然,我可以手动调整按钮来匹配目标,但我觉得我错过了什么。创建这些标准按钮的正确方法是什么?
这实际上很容易做到,而且您已经很接近了。
您可以为此使用 NSButton
。请注意,它有不同的样式(在 NSButton.BezelStyle
中定义)可供选择。默认的是在 windows 和模态框内使用的那个。但对于工具栏,为了匹配分段控件和搜索栏的样式,您可以选择样式 .texturedRounded
.
您还可以通过 Interface Builder 设置样式。请注意,您必须 select 按钮本身,而不是它周围的工具栏项。
要获得正确的大小,您似乎是在工具栏项中设置图标,而不是按钮本身。
这是我的结果:
想要的外观
我想为我的应用制作一个工具栏,其中包含一些简单的按钮,每个按钮都有一个单色图标。这是一些类似于我试图实现的工具栏按钮的示例,来自 Mail 的 compose window:
请注意,这些按钮具有一致的大小、内边距、内边距和底纹。这是一种跨 macOS 的非常一致的样式,存在于 Mail、Safari、Finder 等中。这让我怀疑是否存在用于创建此类按钮的标准化 UI 组件。
如果我使用分段控件,每个按钮看起来都是正确的,每个图标都被正确填充:
现在我想添加符合样式的单个按钮。
尝试 1
我的第一次尝试是向工具栏添加“按钮”(NSButton
):
这导致了一个有点太短的宽按钮,并且没有与分段控件对齐:
尝试 2
我的第二次尝试是使用分段控件,只有 1 个分段。
这导致按钮的形状、大小等都正确,但相对于其标签偏离了中心。
当然,我可以手动调整按钮来匹配目标,但我觉得我错过了什么。创建这些标准按钮的正确方法是什么?
这实际上很容易做到,而且您已经很接近了。
您可以为此使用 NSButton
。请注意,它有不同的样式(在 NSButton.BezelStyle
中定义)可供选择。默认的是在 windows 和模态框内使用的那个。但对于工具栏,为了匹配分段控件和搜索栏的样式,您可以选择样式 .texturedRounded
.
您还可以通过 Interface Builder 设置样式。请注意,您必须 select 按钮本身,而不是它周围的工具栏项。
要获得正确的大小,您似乎是在工具栏项中设置图标,而不是按钮本身。
这是我的结果: