2016-11-21 24 views
0

我一直在爲我的Cocoa應用程序開發自定義用戶界面。 通過瀏覽互聯網,我已經學會了如何在MacOSX上繼承大量的UI對象。在很多情況下,我可以讓外觀按我想要的方式工作。NSComboBoxCell子類的例子?

我正在使用的最後一個UI元素是NSComboBoxCell。它似乎是一個NSTextFieldCellNSButtonCell連接。我想要覆蓋的部分是NSButtonCell,我相信這是繪製「箭頭按鈕」。有沒有人曾經這樣做過,如果是這樣,使用什麼方法,以便我可以改變它的外觀?

有什麼方法可以知道在哪裏畫NSButtonCell? (我可以覆蓋並安裝我自己的NSButtonCell?)

謝謝!

+0

從可可-dev郵件列表: _James沃克寫道: 在我NSComboBoxCell子,我想通了,這裏的 「按鈕」 部分應該如下:_ '的NSRect drawingRect = [自我drawingRectForBounds: cellFrame]; NSRect titleBounds = [self titleRectForBounds:drawingRect]; 的NSRect buttonBounds = NSMakeRect(NSMaxX(titleBounds), \t NSMinY(drawingRect), \t NSMaxX(drawingRect) - NSMaxX(titleBounds), \t NSHeight(drawingRect));' _And然後我畫我自己的按鈕的內容。 _ 這似乎適用於我。謝謝詹姆斯! –

回答

0

從可可-dev郵件列表:

詹姆斯·沃克寫道: 在我NSComboBoxCell子,我想通了,這裏的「按鈕」部分應該如下:

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

然後我畫了我自己的按鈕內容。這似乎對我有用。

謝謝詹姆斯!