【问题标题】:Chart with Zooming Functionality具有缩放功能的图表
【发布时间】:2023-04-06 12:01:01
【问题描述】:

我必须制作如下图:

不知何故,我使用 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 坐标并使其可滚动。任何帮助或建议将不胜感激。

【问题讨论】:

    标签: ios objective-c graph charts uiscrollview


    【解决方案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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2016-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      相关资源
      最近更新 更多