2

你们中是否有人知道是否有这样的控件可以在自己的项目中使用。就像 iTunes “已用空间”或 Mac OS X “已用磁盘空间栏”一样? 在此处输入图像描述

4

1 回答 1

1

这通常是一个自定义控件。

这类事情通常是通过创建 的子类NSView并覆盖该drawRect:方法来创建自定义组件来完成的。

然后,您可以创建自己的形状并以您想要的方式填充。
有关更多信息和示例,请参阅Cocoa 绘图指南

帮助您入门的基本示例:

- ( 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 ];
}
于 2013-04-22T18:01:13.407 回答