如何在Ios中清除直线?

时间:2014-10-26 05:42:36

标签: ios objective-c drawrect

我提出了一个使用DrawRect方法绘制折线图的方案。使用相同的代码我应该绘制三种类型的折线图。我应该如何清除已绘制的图形并绘制另一个...发布其中一个clasess drawRect方法。请看一下,并为我建议一个解决方案

- (void)drawRect:(CGRect)rect 
{
     CGContextRef context = UIGraphicsGetCurrentContext();
     CGContextClearRect(context, self.bounds);
     CGContextSetAllowsAntialiasing(context, true);

    CGRect currentBounds = self.bounds;
    CGFloat dotsWidth = self.numberOfPages*kDotDiameter + MAX(0,     self.numberOfPages-1)*kDotSpacer;
    CGFloat x = CGRectGetMidX(currentBounds)-dotsWidth/2;
    CGFloat y = CGRectGetMidY(currentBounds)-kDotDiameter/2;
    for (int i=0; i<_numberOfPages; i++)
    {
        CGRect circleRect = CGRectMake(x, y, kDotDiameter, kDotDiameter);
        if (i == _currentPage)
        {
            CGContextSetFillColorWithColor(context, [UIColor orangeColor].CGColor);
        }
       else
       {
           CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
       }
        CGContextFillEllipseInRect(context, circleRect);
        x += kDotDiameter + kDotSpacer;
    }
}

1 个答案:

答案 0 :(得分:1)

你可以尝试以下方法,rect应该包含线图边界。

CGContextClearRect(UIGraphicsGetCurrentContext(), rect);
相关问题