4

ios-charts是我最近使用的一个很酷的库。

这是预期的突出显示切片:

在此处输入图像描述

这是我目前的高亮效果:

在此处输入图像描述

不同之处在于突出显示的效果超出我的预期。

我想知道我可以使用哪种方法来调整高亮效果?

4

2 回答 2

8

感谢@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;

这是我所期望的效果。

在此处输入图像描述

于 2015-07-20T22:25:48.510 回答
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
...
}

你可以改变innerRadiusholeTransparent任何你喜欢尝试的东西。

于 2015-07-20T11:09:25.303 回答