Cocoa 带有加号和减号按钮的NSTableView

Cocoa 带有加号和减号按钮的NSTableView,cocoa,interface-builder,Cocoa,Interface Builder,我怎么能做那样的事 我在Interface Builder库中未找到任何合适的对象 有什么想法吗?使用带有渐变样式的NSButton,对于图像,使用系统提供的NSAddTemplate和NSRemoveTemplate。我发现最好的方法是使用NSSegmentedControl 在画布上拖动后,应配置其样式: Style: Small Square Mode: Select Momentary 看起来好多了。现在使用“图像”字段设置NSAddTemplate和NSRemoveTemplat

我怎么能做那样的事

我在Interface Builder库中未找到任何合适的对象


有什么想法吗?

使用带有渐变样式的NSButton,对于图像,使用系统提供的NSAddTemplate和NSRemoveTemplate。

我发现最好的方法是使用NSSegmentedControl

在画布上拖动后,应配置其样式:

Style: Small Square
Mode:  Select Momentary
看起来好多了。现在使用“图像”字段设置NSAddTemplateNSRemoveTemplate。确保标签字段为空

好的,我们有“+”,“-”和一个空段。要防止用户选择最新的一个,请从弹出的段:中选择它,然后关闭启用的复选框(位于状态:标签旁边)

最后,我们要做的是设置前两段的宽度,使它们成正方形

  • 去尺码检查员那里
  • 选择段0
  • 关闭“固定的”复选框(分段应立即自动调整大小以适合图像)
  • 选择段1并重复编号3
  • 现在,当您调整控件的大小时,只有最后一段会更改宽度
  • 将其放在表格视图的底部,并调整大小

  • 享受;)

    这里有一个答案建议使用渐变按钮,但是不能禁用这些按钮,因为这会导致背景发生变化,从而破坏外观。另一个建议使用分段控件,这几乎是完美的,但分段控件不支持自动调整大小,例如,如果表格宽度是动态的。我的建议是两者的结合。对实际按钮使用分段控件,并使用渐变按钮填充表格宽度的其余部分,如果按钮宽度也是动态的,则表格宽度现在也可以是动态的

    请参见我对类似问题的回答(带有屏幕截图):
    优胜美地OSX更新

    我试图在Accounts视图(屏幕截图右侧窗口)中实现与Mail.app相同的外观

    我确实通过以下步骤达到了预期的结果:

  • 添加一个
    NSSegmentedControl
  • 添加两段并将图像分别设置为:
    • NSAddTemplate
      用于
      +
      按钮
    • NSRemoveTemplate
      用于
      -
      按钮
  • 将段的大小设置为
    fixed
    ,并将值设置为
    32
    像素
  • 按钮旁边的矩形是一个样式为渐变的
    NSButton
  • 该按钮已启用,但拒绝第一响应者设置为
    true
    ,因此无法单击

  • 我更喜欢这个答案,因为它让所有东西都保持在一起,我可以在不改变外观的情况下禁用第三段。但是如何处理拉伸控件的窗口的大小调整呢?我在窗口的不可调整大小的部分使用了它。但据我所知,要调整它的尺寸确实很有挑战性。如果你能做到这一点,请通过发布另一个答案让我知道,我会投票支持你;您可以将分段控件与NSButton混合使用,以获得理想的外观、行为和自动调整大小。仅供参考,它不再被称为模式选择
    None
    ,而是
    瞬时
    @bithavoc,我不再使用XCode/Cocoa和所有工具。请随意编辑答案。不错,但是当使用多个渐变按钮时,禁用其中一个按钮会破坏外观。分段控件在这里工作得更好,因为禁用单个分段只会使文本或图像变暗,但不会更改背景。可能会重复