-1

我想画一个垂直的单条形图。我试图使用 DrawRect 来做到这一点,但无法做到。如果可以通过提供起点和终点以更改颜色来轻松完成此操作,是否可以帮助我知道这一点。

谢谢

4

2 回答 2

2

如果您有自定义视图,只需绘制所需的线条和矩形即可。例如:

- (void)drawRect:(CGRect)rect
{
    CGAffineTransform t = CGAffineTransformMakeScale(1, -1);
    self.transform = t;
    CGFloat baseline = 50;
    CGFloat inset = 40;
    CGFloat barWidth = 20;
    CGFloat barHeight = 80;

    CGRect r = CGRectMake(inset + barWidth, baseline, barWidth, barHeight);
    UIBezierPath *p = [UIBezierPath bezierPathWithRect:r];
    [[UIColor redColor] set];
    [p fill];
    p = [UIBezierPath bezierPath];

    [p moveToPoint:CGPointMake(inset, baseline)];
    [p addLineToPoint:CGPointMake(inset + 3 * barWidth, baseline)];
    [[UIColor blackColor] set];
    [p stroke];
}

产生这个:

示例条形图

我用-drawRect:上面的方法创建了一个 UIView 子类,并创建了一个窗口大小的视图实例。请注意,我使用变换翻转了坐标系——您不必这样做,但在左下角绘制原点会更容易。

于 2013-06-18T17:28:12.613 回答
0

试试这个
1. http://www.raywenderlich.com/13271/how-to-draw-graphs-with-core-plot-part-2

2 OVGraph.- 图形库

于 2013-06-18T16:51:46.647 回答