2011-07-23 81 views
1

我正在創建一個自定義NSSlider,我要在每個刻度線下面繪製標籤。 我目前在自定義NSSliderCell-(NSRect)rectOfTickMarkAtIndex中執行此操作,但由於NSSlider的高度已修復,我正在繪製的標籤正在裁剪。Mac自定義NSSlider如何覆蓋滑塊框外的刻度線標記

任何人有任何想法? 還有任何資源與完整的自定義NSSliders實現將不勝感激。

回答

3

只需設置NSSlider(它實際上是NSView的一個子類)的框架和界限,使其更高。那麼你的繪畫應該很好。將此代碼粘貼到awakeFromNib:(如果您在其子類中,請將slider替換爲self)。

NSRect frameRect = [slider frame]; 
frameRect.size.height = 30; 
[slider setFrame:frameRect]; 
NSRect boundsRect = [slider bounds]; 
boundsRect.size.height = 30; 
[slider setBounds:boundsRect];