Wie kann ich mithilfe von Core Graphics zu zeichnen Sie einen Kreis auf meine Berührung Lage?

Neuen Programmierer hier. Ich habe Probleme, versucht die Core-Grafiken zu zeichnen, streichelte Bogen um meine Note location. Ich habe die Methode zum zeichnen des Kreises gut funktioniert, und ich habe getestet und bin Registrierung berührt, wenn ich auf den Bildschirm tippe, aber wenn ich versuche, rufen Sie die Methode zum zeichnen des Kreises, wenn ich Tippen Sie auf, bekomme ich die Fehlermeldung "CGContextBlahBlah: invalid context 0x0"

Ich denke, dass dies ist, weil ich nicht den Aufruf der Methode drawRect:().

So, wie bin ich in der Lage, rufen Sie diese Methode auf einem touch? Außerdem, wie kann ich den "CGPoint locationOfTouch" als parameter in meine draw-Methode?

Hier sind die code-Stücke, mit der ich arbeite.

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint locationOfTouch = [touch locationInView:self];
    [self drawTouchCircle:(locationOfTouch)];
    [self setNeedsDisplay];
}


-(void)drawTouchCircle:(CGPoint)locationOfTouch
{
    CGContextRef ctx= UIGraphicsGetCurrentContext();

    CGContextSaveGState(ctx);

    CGContextSetLineWidth(ctx,5);
    CGContextSetRGBStrokeColor(ctx,0.8,0.8,0.8,1.0);
    CGContextAddArc(ctx,locationOfTouch.x,locationOfTouch.y,30,0.0,M_PI*2,YES);
    CGContextStrokePath(ctx);
}

Vielen Dank im Voraus für die Hilfe!

Wie Rob sagt, Ihr Verdacht ist richtig — bei iOS sind alle Zeichnung pull statt push.

InformationsquelleAutor BendE | 2013-02-16

Schreibe einen Kommentar