如何在iphone中通过时间间隔使用coregraphics快速绘制线条

时间:2011-11-21 08:54:06

标签: iphone ios ipad

我是iphone编程的新手。

在我的应用程序中,我必须根据我的要求快速绘制线条。我正在服用NSTimer,时间间隔为0.01。

我使用以下代码绘制线条。如何使用NSTimer快速绘制这些线?

    UIGraphicsBeginImageContext(bgImage.frame.size);
    [bgImage.image drawInRect:CGRectMake(0, 0, bgImage.frame.size.width, bgImage.frame.size.height)];
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(),5);
    CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(),([UIColor blueColor]).CGColor);
    CGContextBeginPath(UIGraphicsGetCurrentContext());
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), startPoint.x, startPoint.y);
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), endPoint.x, endPoint.y);
    CGContextStrokePath(UIGraphicsGetCurrentContext());
    bgImage.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    endpoint=startpoint;

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果要在视图中显示此内容,您可能希望查看子类UIView,并将此绘图代码放在drawRect:方法中。

drawRect:每次都必须重新绘制整个图像,并且可以在必要时由系统调用。如果您需要更新它,请在视图上调用setNeedsDisplay:,它将在运行循环结束时重绘。