以编程方式创建 NSButton 并设置自定义 NSButtonCell



好吧,这似乎应该很简单,但我来自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];

那么我错过/不理解什么愚蠢的东西?谢谢。

如果您查看" setCell: "的文档,它指出:

讨论

请非常小心地使用此方法,因为它可以不可撤销地 损坏受影响的控件;具体来说,你应该只使用它 NSControl 子类的初始值设定项中的方法。

我读到的方法是,你应该从 "NSButton" 的子类的 init 方法调用你的"setCell"。 换句话说,编写你自己的NSButton子类(例如"ICButton",用于InfalibleCoinage),然后将"setCell"调用填充到init方法中。

当我们讨论这个主题时,您究竟想用"CT_CaptureButtonCell"完成什么的大局是什么,你能在不使用自定义按钮单元格的情况下做到这一点吗?

相关内容

  • 没有找到相关文章

最新更新