6

Ich zeichne ein Liniendiagramm mit CGContextRef. Kann ich den Graphen vergrößern, um die Linien deutlich zu zeigen?Wie zoomen Grafik, erstellt mit CGContextRef

Ich verwende diesen Code.

CGContextRef context=UIGraphicsGetCurrentContext(); 
CGContextBeginPath(context); 

CGMutablePathRef path=CGPathCreateMutable(); 
CGPathMoveToPoint(path, NULL, lastPointX, lastPointY); 
CGPathAddLineToPoint(path, NULL, newPointX, newPointY); 

CGContextAddPath(context, path); 
CGContextSetLineWidth(context, lineWidth); 
CGContextSetStrokeColorWithColor(context, lineColor); 
CGContextStrokePath(context); 
CGPathRelease(path); 

if (isFilling) { 
    CGMutablePathRef path=CGPathCreateMutable(); 
    CGPathMoveToPoint(path, NULL, newPointX, newPointY); 
    CGPathAddLineToPoint(path, NULL, newPointX, self.bounds.size.height); 
    CGPathAddLineToPoint(path, NULL, lastPointX, self.bounds.size.height); 
    CGPathAddLineToPoint(path, NULL, lastPointX, lastPointY); 
    CGPathCloseSubpath(path); 

    CGContextAddPath(context, path); 
    CGContextSetFillColorWithColor(context, fillingColor); 
    CGContextFillPath(context); 
    CGPathRelease(path); 
} 

Hinweis: - Ich möchte die Ansicht nicht vergrößern. Ich möchte Zeilen neu zeichnen, um sie klar zu zeigen.

Antwort

0

Sie haben diese Grafik zeichnen auf UIScrollView oder Sie können Blick auf UIScrollView hinzufügen, dann können Sie in der Lage in und aus diesem Diagramm vergrößern. Um dies zu tun, sollten Sie folgenden Methoden der UIScrollView implementieren:

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView { 
} 
- (void)scrollViewDidZoom:(UIScrollView *)scrollView { 
} 

Als Referenz können Sie dieses schöne Tutorial folgen:

http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content

die Ihnen sagen, zu folgenden Methoden implementieren:

- (void)centerContentsOfScrollView:(UIScrollView *)scrollView 
{ 
} 
- (void)scrollViewDoubleTapped:(UITapGestureRecognizer*)recognizer 
{ 
} 
- (void)scrollViewTwoFingerTapped:(UITapGestureRecognizer*)recognizer 
{ 
} 
+0

Ich möchte nicht Ansicht vergrößern. Ich möchte Zeilen neu zeichnen, um sie klar zu zeigen. –