我正在使用基于视图的NSOutlineView和两个不同的视图(两个视图都是NSTableCellView
的自定义子类)。在顶层视图中,我显示带有计数器的徽章。计数器指示较低级别的条目数。在Apple's SidebarDemo项目之后,计数器实现为舍入的rect NSButton。
从图像中可以看出,选择单元格时按钮的行为不是您期望的行为。我的按钮变黑,而在Apple的样本中它变成白色。我已经找到了为按钮设置此特定行为的方法setHighlightsBy
方法:
[[self.button cell] setHighlightsBy: 0];
我在自定义单元类的awakeFromNib
方法中使用上述内容。在同一个awakeFromNib
我也设置了按钮的挡板:
[[self.button cell] setBezelStyle: NSInlineBezelStyle];
边框样式效果很好,但突出显示似乎被忽略了。
我可以给出的更多信息:大纲视图使用绑定来获取其内容,其高亮模式设置为“源列表”。
为什么忽略我的突出显示?
答案 0 :(得分:1)
您的按钮是否设置在IB中(就像在演示项目中一样)?如果是这样,您是否在属性检查器的控制部分中选中了“启用”框?如果我取消选中该框,我就会看到你所看到的行为。
答案 1 :(得分:0)
由于@rdelmar在他的回答中提出的建议,我找到了所述行为的原因。该按钮使用“Argument”绑定检查器绑定到Cell View。
其中一个设置是“Conditional sets enabled”,它已启用,显然会导致我的按钮自动禁用。禁用此设置后,问题就会消失。