1

我正在尝试创建自定义按钮外观。

从我收集到的内容来看,NSButtonCell这幅画是不是,所以我实际上应该改写它。

但问题是,我的 CustomButton 类还有其他的东西,比如NSImagemIsMouseOver等等。目前绘图是在 CustomButton 类中完成的,但我想将它移到单元格中。

问题是,无论如何我可以从 customButtonCell 类访问 customButton 类中的图像以便我可以使用[image drawInRect:...]吗?

问候,韩

4

2 回答 2

1

通常的方法是将数据存储在 NSCell 子类中。基本单元类甚至具有 -(id)image 属性,因此,[[self cell] image]当查询图像时,您的按钮类应该调用。

实际上,由于您是 NSButton 的子类,它包含您需要的所有内容,只需覆盖单元格的绘图方法即可。如果您需要一个额外的属性 - 在单元格中定义它,在控件中包装。

于 2010-12-09T09:48:34.423 回答
1

您的单元格的drawWithFrame:(NSRect)frame inView:(NSView *)controlView方法包括对正在绘制的 NSView 的引用,您可以从中访问视图的属性(例如图像)。

于 2010-12-09T12:47:12.113 回答