我怎么能做这样的事情?
我在 Interface Builder 库中没有找到任何合适的对象。
有什么想法吗?
我发现最好的方法是使用 NSSegmentedControl。
将其拖到画布上后,您应该配置其样式:
Style: Small Square
Mode: Select Momentary
看起来更好。现在使用“图像”字段来设置NSAddTemplate和NSRemoveTemplate。确保标签字段为空。
好的,我们有“ + ”、“ - ”和一个空段。要防止用户选择最新的,请从Segment:弹出并关闭Enabled复选框(位于State: label 旁边)中选择它。
最后,我们要做的是设置前两个段的宽度以使它们成为正方形。
享受 ;)
OSX Yosemite 更新
我试图在帐户视图中实现与 Mail.app 相同的外观(我的屏幕截图上的右侧窗口)。
我确实通过以下步骤达到了预期的结果:
NSSegmentedControl
NSAddTemplate
对于+
按钮NSRemoveTemplate
对于-
按钮fixed
设置为并将值设置为32
像素NSButton
带有样式的Gradient
。true
为不可点击。使用具有渐变样式的 NSButton,并为图像使用系统提供的 NSAddTemplate 和 NSRemoveTemplate。
这里的一个答案建议使用渐变按钮,但是不能禁用这些按钮,因为这会导致背景发生变化,从而破坏外观。另一个建议使用分段控件,这几乎是完美的,但分段控件不支持自动调整大小,例如,如果表格宽度是动态的。我的建议是两者结合。对实际按钮使用分段控件,使用渐变按钮填充表格宽度的其余部分,如果按钮宽度也是动态的,那么现在也可以是动态的。
请参阅我对类似问题的回答(带有屏幕截图): https ://stackoverflow.com/a/22586314/15809