Мы используем CorePlot
для рисования диаграммы. По оси y мы рисуем температуру.
Учитывая значение температуры, мы хотим найти y coordinate
, который соответствует этой температуре в координатном пространстве UIViewController.
Наша иерархия представлений организована следующим образом:
_ UIViewController's main view (self.view)
\_ UIScrollView
\_ ChartView
Читая документацию, мы нашли это должно делать именно то, что мы хотим.
Теперь, поскольку этот метод вернет позицию Y в системе координат ChartView, мы используем - [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];
Используя этот метод, мы получаем неверные значения, как показано на следующем рисунке.
Заранее спасибо.