我一直在为我的Cocoa应用程序开发一个自定义UI。 通过浏览互联网,我已经设法学习如何在MacOSX上继承大量的UI对象。在许多情况下,我可以按照我想要的方式使外观工作。
我正在处理的最后一个UI元素是NSComboBoxCell
。它似乎是附加NSTextFieldCell
的{{1}}。我要覆盖的部分是我认为正在绘制"箭头按钮"的NSButtonCell
。有没有人以前做过这个,如果有的话,使用什么方法,以便我可以改变它的外观?
有没有办法知道在哪里绘制NSButtonCell
?
(我可以覆盖并安装我自己的NSButtonCell
吗?)
谢谢!
答案 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) );
然后我绘制了自己的按钮内容。这似乎对我有用。
谢谢詹姆斯!