iOS图表:确定chartValueSelected()上的圆位置

时间:2017-02-03 23:39:20

标签: swift ios-charts nspopover

我在Swift 3中使用iOS Charts

当用户点击我的图表上的圆圈/点时,我想显示一个包含值和日期的弹出窗口。

Graph

我检测到chartValueSelected()内的点击并显示如下弹出窗口:

func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
  //Set and show the popup...
  //...
  self.presentViewController(vc, asPopoverRelativeTo: frame, of: graph, preferredEdge: .minY, behavior: .transient)
}

现在,我只是将弹出窗口与frame任意定位,因为我不知道如何确定用户点击的位置。

有没有办法知道点击圆圈所在的x / y坐标?

1 个答案:

答案 0 :(得分:0)

啊,发现了!

委托方法返回的hightlight值包含与圆圈所在位置相关的xPxyPx属性。哇,他们真的想到了这个图库的一切。 :)

所以我硬编码了这样的相对偏移量:

let frame = CGRect(x: highlight.xPx-36, y: highlight.yPx-15, width: 73, height: 54)

......它有效: enter image description here