具有缩放功能的图表
Posted
技术标签:
【中文标题】具有缩放功能的图表【英文标题】:Chart with Zooming Functionality 【发布时间】:2017-03-25 20:49:03 【问题描述】:我必须制作如下图:
不知何故,我使用 bezierPath、CAShapeLayer 和动画制作了图表。但是现在想添加缩放功能。缩放代码如下:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
return _graphView;
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollV withView:(UIView *)view atScale:(CGFloat)scale
[_scrollView setContentSize:CGSizeMake(scale*320, scale*1700)];
当我水平滚动时一切正常,但垂直滚动请查看下图:
注意:X 和 Y 轴在视图上,图形在滚动视图上,我还想根据缩放更改 x 和 y 坐标并使其可滚动。任何帮助或建议将不胜感激。
【问题讨论】:
【参考方案1】:见下文:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
CGFloat offsetX = MAX((scrollView.bounds.size.width - scrollView.contentSize.width) * 0.5, 0.0);
CGFloat offsetY = MAX((scrollView.bounds.size.height - scrollView.contentSize.height) * 0.5, 0.0);
_drawingView.center = CGPointMake(scrollView.contentSize.width * 0.5 + offsetX,
scrollView.contentSize.height * 0.5 + offsetY);
return _drawingView;
【讨论】:
以上是关于具有缩放功能的图表的主要内容,如果未能解决你的问题,请参考以下文章