iOS-Charts 如何将 UIImage 放在一个点旁边
iOS-Charts How to put UIImage beside a point
我想使用 iOS-Charts with Swift 绘制一些折线图来显示数据。现在,我有一个要求,在每个点旁边放一个小图标。
现在我可以在图表上添加UIImage了,但问题是如何正确获取每个点的CGPoint坐标。
如果我改变设备的方向或设备类型,图像的位置仍然是固定的,不会相应地改变。这是iPhone 6s的图片。
这是我当前的代码:
for i in 0..<dataPoints.count {
let pointLeft = lineChartView.getPosition(dataEntries[i], axis: .Left)
let image = UIImage(named: numbers[i])
let imageView = UIImageView(image:image!)
imageView.frame = CGRect(x: pointLeft.x, y: pointLeft.y, width: 16, height: 16)
lineChartView.addSubview(imageView)
}
可以修改private func drawCircles(context context: CGContext)
在 LineChartRenderer.swift
内执行以下操作:在绘制圆圈的循环内使用 pt
在那里计算的 var 并添加如下内容:
let image = UIImage(named: numbers[i])
image?.drawInRect(CGRect(x: pt.x, y: pt.y, width: 16, height: 16))
显然,您需要使用 CGRect 来按照您需要的方式放置图像。每次设备方向发生变化等时都会调用此方法。
我想使用 iOS-Charts with Swift 绘制一些折线图来显示数据。现在,我有一个要求,在每个点旁边放一个小图标。
现在我可以在图表上添加UIImage了,但问题是如何正确获取每个点的CGPoint坐标。
如果我改变设备的方向或设备类型,图像的位置仍然是固定的,不会相应地改变。这是iPhone 6s的图片。
这是我当前的代码:
for i in 0..<dataPoints.count {
let pointLeft = lineChartView.getPosition(dataEntries[i], axis: .Left)
let image = UIImage(named: numbers[i])
let imageView = UIImageView(image:image!)
imageView.frame = CGRect(x: pointLeft.x, y: pointLeft.y, width: 16, height: 16)
lineChartView.addSubview(imageView)
}
可以修改private func drawCircles(context context: CGContext)
在 LineChartRenderer.swift
内执行以下操作:在绘制圆圈的循环内使用 pt
在那里计算的 var 并添加如下内容:
let image = UIImage(named: numbers[i])
image?.drawInRect(CGRect(x: pt.x, y: pt.y, width: 16, height: 16))
显然,您需要使用 CGRect 来按照您需要的方式放置图像。每次设备方向发生变化等时都会调用此方法。