6

Sto disegnando un grafico a linee usando CGContextRef. Posso ingrandire lo zoom di questo grafico per mostrare chiaramente le linee.Come ingrandire il grafico, creato con CGContextRef

Sto usando questo codice.

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); 
} 

Nota: - Non voglio ingrandire la vista. Voglio ridisegnare le linee per mostrare chiaramente.

risposta

0

dovete disegnare questo grafico su UIScrollView oppure aggiungere vista sul UIScrollView allora si può in grado di ingrandire e ridurre tale grafico. Per fare questo è necessario implementare seguenti metodi di UIScrollView:

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

Per riferimento si può seguire questa bel tutorial:

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

che vi dirà di implementare metodi seguenti:

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

Non voglio zoomare. Voglio ridisegnare le linee per mostrare chiaramente. –