May*_*ain 6 core-graphics objective-c ios cgcontextref cgcontextdrawpath
我正在使用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);
}
Run Code Online (Sandbox Code Playgroud)
注意: - 我不想缩放视图.我想重新绘制线条以清楚地显示.
您必须在UIScrollView上绘制此图表,或者您可以在UIScrollView上添加视图 ,然后您就可以放大和缩小该图表。为此,您应该实现UIScrollView的以下方法:
- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView {
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
}
Run Code Online (Sandbox Code Playgroud)
作为参考,您可以遵循这个不错的教程:
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
{
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |