NSComboBoxCell子类的例子?

时间:2016-11-21 01:21:40

标签: objective-c cocoa nscombobox

我一直在为我的Cocoa应用程序开发一个自定义UI。 通过浏览互联网,我已经设法学习如何在MacOSX上继承大量的UI对象。在许多情况下,我可以按照我想要的方式使外观工作。

我正在处理的最后一个UI元素是NSComboBoxCell。它似乎是附加NSTextFieldCell的{​​{1}}。我要覆盖的部分是我认为正在绘制"箭头按钮"的NSButtonCell。有没有人以前做过这个,如果有的话,使用什么方法,以便我可以改变它的外观?

有没有办法知道在哪里绘制NSButtonCell? (我可以覆盖并安装我自己的NSButtonCell吗?)

谢谢!

1 个答案:

答案 0 :(得分:0)

来自cocoa-dev邮件列表:

James Walker写道: 在我的NSComboBoxCell子类中,我想出了“按钮”部分应该如下所示:

NSRect drawingRect = [self drawingRectForBounds: cellFrame];
NSRect titleBounds = [self titleRectForBounds: drawingRect];
NSRect buttonBounds = NSMakeRect( NSMaxX( titleBounds ), NSMinY(drawingRect), NSMaxX(drawingRect) - NSMaxX( titleBounds ), NSHeight(drawingRect) );

然后我绘制了自己的按钮内容。这似乎对我有用。

谢谢詹姆斯!