CGContextAddLineToPoint: kein Aktueller Punkt

Ich bin die Entwicklung einer pattern lock-Anwendung (wie den Android-lock).

Ich soll zum zeichnen von Linien zwischen den Punkten, um das Schloss zu öffnen, aber wenn ich mir die Zeichnung, gibt es einen Fehler:

<Error>: CGContextAddLineToPoint: no current point

Es ist in Ordnung, die in iOS 5.0 und vor, aber es zeigt einen Fehler in 5.1.

Dies ist mein code:

 - (void)drawRect:(CGRect)rect
{
 NSLog(@"drawrect...%@",NSStringFromCGRect(rect));

 if (!self._trackPointValue)
 return;

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10.0);
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
CGFloat components[] = {0.5, 1.0, 0.5, 0.8};
CGColorRef color = CGColorCreate(colorspace, components);
CGContextSetStrokeColorWithColor(context, color);

CGPoint from;
UIView *lastDot;
for (UIView *dotView in self._dotViews) {  //_dotViews array of points
 from = dotView.center;      
 if (!lastDot)
 {
  CGContextMoveToPoint(context, from.x, from.y);

  }
 else
 {
    NSLog(@"from : %@",NSStringFromCGPoint(from));
   CGContextAddLineToPoint(context, from.x, from.y);

 }

 lastDot = dotView;
}

 CGPoint pt = [self._trackPointValue CGPointValue];  //_trackPointValue is current point

 CGContextAddLineToPoint(context, pt.x, pt.y);

 CGContextStrokePath(context);
 CGColorSpaceRelease(colorspace);
 CGColorRelease(color);

 self._trackPointValue = nil;//_trackPointValue is current point
 }
InformationsquelleAutor Pardhu | 2012-03-21
Schreibe einen Kommentar