好吧,这看起来应该很简单,但我来自iOS,而且我必须错过一些非常明显的东西。所以我有一个NSButtonCell的自定义子类。如果我在IB中创建NSButton并在IB中分配NSButtonCell,它就没有问题。
但是,我需要以编程方式创建此按钮。我看了几个例子,并在awakeFromNib中有以下内容,但是,它创建了一个看起来像常规按钮,下面是我的自定义按钮单元(我可以告诉我单击按钮时)。
NSButton* button = [[NSButton alloc] initWithFrame:NSMakeRect(100, 100, 60, 30)];
CT_CaptureButtonCell* captureCell = [[CT_CaptureButtonCell alloc] init];
[button setCell:captureCell];
[captureCell release];
[self.view addSubview:button];
那么我错过/不理解的是什么蠢事?感谢。
答案 0 :(得分:0)
如果查看documentation for "setCell:
",请说明:
讨论
请谨慎使用此方法,因为它可以不可逆转地使用 损害受影响的控件;具体来说,你应该只使用它 NSControl子类的初始值设定项中的方法。
我读到这个的方式是你应该在的中为在{/ 1}}子类的init方法中调用“setCell
”。换句话说,编写自己的NSButton子类(例如“NSButton
”,用于InfalibleCoinage),然后将“ICButton
”调用填充到那里的init方法中。
虽然我们正在研究这个主题,但是你正在尝试用“setCell
”完成什么的大局是什么?你可以不使用自定义按钮单元吗?