Die Aufgabe ist es, Pfade zur Laufzeit auf benutzerdefinierten Karten zu zeichnen, die ich in einer Scrollview verwende, und dann muss ich Pfade zur Laufzeit zeichnen, wann immer der Standort Koordinaten (lat, long) aktualisiert. Das Problem, was ich hier zu lösen versuche, ist, dass ich eine Klasse 'graphics' gemacht habe, die eine Unterklasse von UIView ist, in der ich die Zeichnung in der Methode 'drawrect:' code. Wenn ich also die Grafiken als Teilansicht des Scrollview über Bild hinzufüge, zeichnet die Linie, aber ich muss die Linie so zeichnen, als ob es Pfade wären. Ich muss die Zeilen zur Laufzeit zeichnen, muss die Punkte (x, y) der "CGContextStrokeLineSegments" -Methode aktualisieren. Der Code:Kerngrafiken, wie Linien zur Laufzeit zeichnen?
Viewcontroller:
- (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];
}
Graphics.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);
}
So wie ich die Zeilen zur Laufzeit zurückgreifen. Ich simuliere gerade, also verwende ich nicht die Echtzeitdaten (Koordinaten). Ich möchte nur mit Dummy-Daten simulieren (Koordinaten von x, y). Nehmen wir an, eine Schaltfläche hat immer eine Taste. Wenn Sie die Taste drücken, werden die Koordinaten aktualisiert, sodass der Pfad erweitert wird.