我使用BarChartView
的ios-Charts创建了一个BarChart,但我无法弄清楚如何在圆柱上添加圆角。
这是我正在使用的代码:
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)
我找了一个像set1.barCornerRadius
这样的房子来设置,但我没找到任何东西。
这是我有的:
这就是我需要的:
在BarChartRenderer.swift
你可以修改open func drawDataSet(context: CGContext, dataSet: IBarChartDataSet, index: Int)
然后有堆叠和未堆叠的条形码的qazxsw poi,选择你的情况并删除:
if-statement
而不是它添加:
context.fill(barRect)
似乎目前不支持此功能,但let bezierPath = UIBezierPath(roundedRect: barRect, cornerRadius: %YOUR_CORNER_RADIUS%)
context.addPath(bezierPath.cgPath)
context.drawPath(using: .fill)
。同时看看is under development。
如果您不想等待let frame = CGRect(x: xPos, y: yPos, width: BAR_WIDTH_CONSTANT, height: barHeight)
let bar = UIView(frame: frame)
bar.layer.cornerRadius = BAR_WIDTH_CONSTANT < barHeight ? BAR_WIDTH_CONSTANT / 2 : barHeight / 2
bar.layer.masksToBounds = true
self.barView.addSubview(bar)
在原始库中合并,那么我可以在几个项目中使用自己的解决方案。
这个工作示例基于我在互联网上收集的所有先前数据。它在今天起作用,但在使用之前必须采取一些预防措施。
为了使它工作,你所要做的就是替换整个this pull request文件BarChartRenderer.swift
。
首先,拥有原始文件的备份副本。然后,确保每次更新Charts CocoaPod时都替换该文件,否则,文件将被覆盖。
最后,要控制图表的角半径,只需将with this one更改为您想要的任何值。
这是我得到的最终结果:
barCornerRadius = CGFloat(5.0)
更换文件后,请确保清理Xcode的构建文件夹,然后重新编译项目以使更改立即生效。