我将NSButtonCell子类化以自定义图形(可自定义主题)。我想自定义复选框和单选按钮的绘制方式。
有谁知道如何检测按钮是复选框还是单选按钮?
只有-setButtonType :,没有getter,并且-showsStateBy和-highlightsBy似乎都没有为复选框提供任何唯一的返回值,这些复选框也不适用于带有图像和备用图像的常规按钮。
到目前为止,我已经找到了两种(不是很漂亮)的解决方法,但是它们很可能会导致应用程序被MAS拒绝:
我真的希望它是NSButtonCell的直接替代品,而不是强制客户端代码对复选框使用单独的ULIThemeSwitchButtonCell类,对单选按钮使用第三个类。
最佳答案
按钮对其样式一无所知。
从NSButton的文档中
您可以使用tag:和setTag :(由NSControl的NSButton继承)来将按钮标记为复选框或单选按钮。如果以编程方式执行此操作,则应定义要使用的常量。您也可以在Interface Builder中设置标签,但只能将其设置为整数值(魔数(Magic Number))。
关于objective-c - 如何确定我是否是具有buttonType NSSwitchButton的NSButton?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12936024/