6

CGContextRefを使って折れ線グラフを描いています。このグラフをズームインして、線をはっきりと表示するためにズームアウトできますか?

私はこのコードを使用しています。

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

注:- ビューをズームしたくありません。はっきり見えるように線を引き直したい。

4

1 に答える 1

0

UIScrollViewでこのグラフを描画するか、 UIScrollViewにビューを追加 して、そのグラフをズームインおよびズームアウトすることができます。これを行うには、UIScrollViewの次のメソッドを実装する必要があります。

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

参考までに、この素​​晴らしいチュートリアルに従うことができます。

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

これにより、次のメソッドを実装するように指示されます。

- (void)centerContentsOfScrollView:(UIScrollView *)scrollView
{
}
- (void)scrollViewDoubleTapped:(UITapGestureRecognizer*)recognizer
{
}
- (void)scrollViewTwoFingerTapped:(UITapGestureRecognizer*)recognizer
{
}
于 2015-07-15T11:11:38.543 に答える