使用圆形矩形按钮作为带计数器的徽章

时间:2012-05-06 12:28:12

标签: cocoa nsoutlineview nstableviewcell

我正在使用基于视图的NSOutlineView和两个不同的视图(两个视图都是NSTableCellView的自定义子类)。在顶层视图中,我显示带有计数器的徽章。计数器指示较低级别的条目数。在Apple's SidebarDemo项目之后,计数器实现为舍入的rect NSButton。

从图像中可以看出,选择单元格时按钮的行为不是您期望的行为。我的按钮变黑,而在Apple的样本中它变成白色。我已经找到了为按钮设置此特定行为的方法setHighlightsBy方法:

[[self.button cell] setHighlightsBy: 0];

我在自定义单元类的awakeFromNib方法中使用上述内容。在同一个awakeFromNib我也设置了按钮的挡板:

[[self.button cell] setBezelStyle: NSInlineBezelStyle];

边框样式效果很好,但突出显示似乎被忽略了。

我可以给出的更多信息:大纲视图使用绑定来获取其内容,其高亮模式设置为“源列表”。

为什么忽略我的突出显示?

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您的按钮是否设置在IB中(就像在演示项目中一样)?如果是这样,您是否在属性检查器的控制部分中选中了“启用”框?如果我取消选中该框,我就会看到你所看到的行为。

答案 1 :(得分:0)

由于@rdelmar在他的回答中提出的建议,我找到了所述行为的原因。该按钮使用“Argument”绑定检查器绑定到Cell View。

enter image description here

其中一个设置是“Conditional sets enabled”,它已启用,显然会导致我的按钮自动禁用。禁用此设置后,问题就会消失。