0

我一直在为我的 Cocoa 应用程序开发自定义 UI。通过浏览互联网,我设法学习了如何在 MacOSX 上对大量 UI 对象进行子类化。在许多情况下,我可以让外观按我想要的方式工作。

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

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

谢谢!

4

1 回答 1

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) );

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

谢谢詹姆斯!

于 2016-12-12T23:51:27.097 回答