lif*_*foo 7 ios swift ios-charts
我使用ios-Charts创建了一个BarChart BarChartView,但我无法弄清楚如何在条形图上添加圆角.
这是我正在使用的代码:
let barChart: BarChartView
//...
var xVals = [String]()
var yVals = [BarChartDataEntry]()
//...
let set1 = BarChartDataSet(yVals: yVals, label: "Label")
set1.drawValuesEnabled = false
set1.highlightLineWidth = 3
set1.colors = [UIColor.whiteColor()]
barChart.data = BarChartData(xVals: xVals, dataSet: set1)
Run Code Online (Sandbox Code Playgroud)
我找了一个喜欢set1.barCornerRadius设置的房产,但我没找到任何东西.
这是我有的:
这就是我需要的:
key*_*eyv 13
在BarChartRenderer.swift你可以修改open func drawDataSet(context: CGContext, dataSet: IBarChartDataSet, index: Int)
然后是if-statement堆叠和非堆叠条,选择你的情况并删除:
context.fill(barRect)
Run Code Online (Sandbox Code Playgroud)
而不是它添加:
let bezierPath = UIBezierPath(roundedRect: barRect, cornerRadius: %YOUR_CORNER_RADIUS%)
context.addPath(bezierPath.cgPath)
context.drawPath(using: .fill)
Run Code Online (Sandbox Code Playgroud)
如果您不想等待这个拉取请求被合并到原始库中,那么我在几个项目中使用了一个可行的解决方案。
这个工作示例基于我之前在 Internet 上收集的所有数据。它从今天开始工作,但在使用它之前你必须做一些预防措施。
为了使它的工作,所有你需要做的是更换整个BarChartRenderer.swift文件与这一个。
首先,拥有原始文件的备份副本。然后,确保每次更新 Charts CocoaPod 时都替换该文件,否则该文件将被覆盖。
最后,要控制图表的角半径,只需将 更改barCornerRadius = CGFloat(5.0)为您想要的任何值。
这是我得到的最终结果:
替换文件后,请确保清理 Xcode 的构建文件夹,然后重新编译项目以使更改立即生效。