Charts
Charts copied to clipboard
Highlight position in `chartValueSelected` is always 0 / nan
- [x] I've read, understood, and done my best to follow the *CONTRIBUTING guidelines.
What did you do?
Created a basic LineChartView, implemented the chartValueSelected
of the ChartViewDelegate
.
What did you expect to happen?
I want to get the xPx and yPx values of the highlight to place a custom UIView on top of the chart at the highlighted position
What happened instead?
The chartValueSelected
gets called successfully, but I get weird values for all the positions:
(highlight.drawX
, highlight.drawY
) = (0.0
, 0.0
)
(highlight.xPx
, highlight.yPx
) = (nan
, nan
)
When setting a breakpoint inside the init method (the one with xPx and yPx) of the Highlight class - the xPx and yPx parameters passed into it are correct. But I assume I'm getting a different Highlight object in the chartValueSelected
method (the one that's called from ChartViewBase
-> highlightValue()
, without xPx and yPx)
Charts Environment
**Charts version/Branch/Commit Number:4.1.0 **Xcode version:14.0 **Swift version:5 **Platform(s) running Charts:iOS **macOS version running Xcode:Ventura
Demo Project
I don't have a demo project, but can provide it if needed. Currently I just want to verify if it's a global issue
I solved the problem by implementing a longPressGestureRecognizer and doing smth like this in gesture.state == .began / .changed:
let gestureLocation = gesture.location(in: chart)
guard let highlight = chart.getHighlightByTouchPoint(gestureLocation) else { return }
let pointInChart = CGPoint(x: highlight.xPx, y: highlight.yPx)
let pointInView = chart.convert(pointInChart, to: view)