任务是,在运行时在我在 Scrollview 中使用的自定义地图上绘制路径,然后每当位置坐标(纬度、经度)更新时,我必须在运行时绘制路径。我在这里试图解决的问题是我创建了一个“图形”类,它是 UIView 的子类,我在“drawrect:”方法中对绘图进行了编码。因此,当我将图形添加为图像上滚动视图的子视图时,线条会绘制,但我需要继续绘制线条,就好像它是路径一样。我需要在运行时画线,需要不断更新'CGContextStrokeLineSegments'方法的点(x,y)。编码:
视图控制器:
- (void)loadView {
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
CGRect fullScreenRect=[[UIScreen mainScreen] applicationFrame];
scrollView=[[UIScrollView alloc] initWithFrame:fullScreenRect];
graph = [[graphics alloc] initWithFrame:fullScreenRect];
scrollView.contentSize=CGSizeMake(320,480);
UIImageView *tempImageView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"fortuneCenter.png"]];
self.view=scrollView;
[scrollView addSubview:tempImageView2];
scrollView.userInteractionEnabled = YES;
scrollView.bounces = NO;
[scrollView addSubview:graph];
}
图形.m:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.backgroundColor = [UIColor clearColor];
}
return self;
}
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGPoint point [2] = { CGPointMake(160, 100), CGPointMake(160,300)};
CGContextSetRGBStrokeColor(context, 255, 0, 255, 1);
CGContextStrokeLineSegments(context, point, 2);
}
那么我如何在运行时绘制线条。我现在只是在模拟,所以我没有使用实时数据(坐标)。只想使用虚拟数据(x,y 的坐标)进行模拟。假设有一个按钮,每当我按下它时,它都会更新坐标以便路径扩展。