答案 0 :(得分:6)
感谢@ 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;
这就是我所期望的效果。
答案 1 :(得分:1)
你可以改变自己:
在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
。