2013-04-22 44 views
2

是否有人知道是否存在您可以在自己的項目中使用的此類控件。就像Mac OS X上的可用磁盤空間欄

那種東西通常是通過創建NSView一個子類完成的,壓倒一切的「已用空間」在iTunes或Mac OS X「使用的磁盤空間吧? enter image description here

回答

1

這是典型的自定義控制。該drawRect:方法,創建自定義組件。

然後,您可以創建你的形狀和填充你想要的方式。
參考Cocoa Drawing Guide更多的相關信息和示例。

基本例子,讓你開始:

- (void)drawRect: (NSRect)rect 
{ 
    NSBezierPath * path; 
    NSGradient * gradient; 
    CGFloat  radius; 

    path  = [ NSBezierPath bezierPathWithRoundedRect: rect xRadius: 2.0 yRadius: 2.0 ]; 
    gradient = [ [ NSGradient alloc ] initWithColorsAndLocations: [ NSColor whiteColor ], 0.0, 
                    [ NSColor blackColor ], 1.0, 
                    nil 
       ]; 

    [ gradient drawInBezierPath: path angle: -90 ]; 
    [ gradient release ]; 
} 
+0

感謝,這就是我一直在想,我還開始開發這樣的組件,在我看來,好像還有各地的github等 – kimar 2013-04-23 09:27:19

+0

@kimar沒有這樣的組件,如果您有工作版本,請考慮在https://www.cocoacontrols.com/上發佈您的自定義控件。 – 2013-04-24 07:36:42