ios-charts是我最近使用的一個很酷的庫。如何更改ios-charts的PieChart中選定切片的高亮度水平
這是預期的突出片:
這是我目前的高亮效果:
不同的是高亮顯示的效果比我預想的太多了。
我不知道哪種方法可以用來調整突出顯示效果?
ios-charts是我最近使用的一個很酷的庫。如何更改ios-charts的PieChart中選定切片的高亮度水平
這是預期的突出片:
這是我目前的高亮效果:
不同的是高亮顯示的效果比我預想的太多了。
我不知道哪種方法可以用來調整突出顯示效果?
你可以改變自己:
在PieChartRenderer.swift:
public override func drawHighlighted(#context: CGContext, indices: [ChartHighlight])
{
if (_chart.data === nil)
{
return
}
CGContextSaveGState(context)
var rotationAngle = _chart.rotationAngle
var angle = CGFloat(0.0)
var drawAngles = _chart.drawAngles
var absoluteAngles = _chart.absoluteAngles
var innerRadius = drawHoleEnabled && holeTransparent ? _chart.radius * holeRadiusPercent : 0.0
...
}
您可以更改innerRadius
或holeTransparent
任何你想嘗試一下。
感謝@ Wingzero的回答。
但是,我不想更改源代碼或重寫它的一些方法。
最後,我找到了選定切片的高光效果屬性。 這是@interface PieChartDataSet : ChartDataSet
的財產。
/// indicates the selection distance of a pie slice
@property (nonatomic) CGFloat selectionShift;
通過將其設置爲dataSet.selectionShift = 7.0;
,它適用於我的設計。
這裏重視的DataSet對象:
PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithYVals:yVals1 label:NULL];
dataSet.selectionShift = 7.0;
PieChartData *data = [[PieChartData alloc] initWithXVals:nil dataSet:dataSet];
self.pieChartView.data = data;
這是我所期望的效果。
好抓!如果有用的話,我忘了看看PieChartDataSet。但是我已經完成了定製,所以我經常對圖表進行子類化並覆蓋它。 – Wingzero