初始加载后,使用CGContextStrokePath重绘路径

问题描述

| 我的应用程序中有一个基本的地图视图,其中包含一组用户可定义的航路点。加载视图后,我会绘制一条连接航路点的路径。这很好。 但是,当用户在视图周围拖动航路点时,我希望它重新绘制路径,这就是我的问题。我不知道如何在第一次之后就画出任何东西。这是我的代码:
- (void)drawRect:(CGRect)rect { ////// works perfectly

    context = UIGraphicsGetCurrentContext();

    CGContextSetRGBStrokeColor(context,1,.7);
    CGContextSetLineWidth(context,20.0);
    WaypointViewController *w = [arrayOfWaypoints objectAtIndex:0];
    CGPoint startPoint = w.view.center;

    CGContextMoveToPoint(context,startPoint.x,startPoint.y);

    for (int i = 1; i<[arrayOfWaypoints count]; i++) {
        WaypointViewController *w2 = [arrayOfWaypoints objectAtIndex:i];
        CGPoint nextPoint = w2.view.center;
        CGContextAddLineToPoint(context,nextPoint.x,nextPoint.y);
    }
    CGContextStrokePath(context);
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    if (moving) {
        UITouch *touch = [touches anyObject];
        currentWaypoint.view.center = [touch locationInView:self];
        [delegate setUserInteraction:NO];
        [self drawInContext:context];
        [NSThread detachNewThreadSelector:@selector(drawInContext:) toTarget:self withObject:nil];

    }

}

- (void)drawInContext:(CGContextRef)context { ///gets called,but does nothing

    CGContextSetRGBStrokeColor(context,nextPoint.y);
    }

    CGContextStrokePath(context);
}
    

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)