gpt4 book ai didi

ios - 将coreplot图表点转换成superview的坐标空间

转载 作者:行者123 更新时间:2023-11-29 10:31:21 24 4
gpt4 key购买 nike

我们正在使用 CorePlot 绘制图表。在 yAxis 中我们绘制温度。

给定一个温度值,我们想在 UIViewController 的坐标空间中找到对应于该温度的 y 坐标

我们的 View 层次结构按以下方式组织:

_ UIViewController's main view (self.view)
\_ UIScrollView
\_ ChartView

阅读文档,我们找到了 -[CTPAxis viewPointForCoordinateDecimalNumber:]这应该完全符合我们的要求。

现在,由于该方法将返回 ChartView 坐标系中的 Y 位置,我们使用 -[UIView convertPoint:toView:]从 ChartView 到 UIScrollView 的转换,然后到 UIViewController 的主视图:

//self is the UIViewController
CGPoint *originalPoint = [self.temperatureAxis viewPointForCoordinateDecimalNumber:temperature];
CGPoint *scrollViewConvertedPoint = [self.chartView convertPoint:originalPoint toView:self.scrollView];
CGPoint *finalPoint = [self.scrollView convertPoint:scrollViewConvertedPoint toView:self.view];

使用这种方法,我们得到了不正确的值,如下图所示。

enter image description here

提前致谢。

最佳答案

originalPoint 位于绘图区域的坐标空间中。在进行 View 转换之前将其转换为图形的坐标空间。

CGPoint graphPoint = [graph convertPoint:originalPoint 
fromLayer:graph.plotAreaFrame.plotArea];

关于ios - 将coreplot图表点转换成superview的坐标空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29417034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com