如何在NSRadioButton上模拟切换?

时间:2013-09-10 19:07:21

标签: cocoa nscell

在OS X中,我有一行带有一行NSButtonCells的NSTableView。这些需要看起来与NSRadioButton类型的按钮完全相同,但更像是NSSwitchButton。特别是,如果状态是NSOnState并且我用鼠标点击它,我需要将其状态切换为关闭(是的我知道这不是单选按钮的标准行为,但这是我需要做的。)如果我使用NSSwitchButton类型的按钮单元,行为正是我需要的;也就是说,tableView调用我的setObjectValueForTableColumn:row:被调用,在那里我可以适当地修改我的数据模型。当我将类型更改为NSRadioButton时,当单元格状态为On并且单击它时,不会调用该方法或我可以找到的任何其他委托方法。有关最简单方法的任何想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用NSToggleButton,仅显示图像,并将两个图像设置为取消选择的单选按钮并选择一个单选按钮 - 提供标准和视网膜分辨率的屏幕(屏幕从真实无线电中抓取它们)纽扣)。不完美,因为它没有标准单选按钮的瞬间亮点,但接近。

注意:NSSwitchButton 可以工作并突出显示,但Apple声明“更改用于这些按钮的图像可能会导致不可预测的结果” - 但IB会让您设置图像。 ..