Применить градиент на круговой диаграмме - библиотека диаграмм iOS - PullRequest
0 голосов
/ 05 июня 2019

Я создал круговую диаграмму с помощью библиотеки диаграмм в Swift.

Когда я пытаюсь передать CGColor, чтобы сделать цвета диаграмм, он не принимает его.

Вот как выглядит мой текущий код:

let colorLV1 = [color.heatWheelOrange, color.heatWheelOrange, color.heatWheelSkyBlue]
let chartDataSetLV1 = setChartDataset(dataEntries: dataEntriesLV1, colorCode: colorLV1, valueTextColor: UIColor.black, fontFormat: fontMedium)
func setChartDataset(dataEntries : [PieChartDataEntry], colorCode : [UIColor], valueTextColor : UIColor, fontFormat : NSUIFont) -> PieChartDataSet {
    let chartDataSet = PieChartDataSet(values: dataEntries, label: "")
    chartDataSet.colors = colorCode
    chartDataSet.sliceSpace = 1
    chartDataSet.selectionShift = 0
    chartDataSet.valueTextColor = valueTextColor
    chartDataSet.valueFont = fontFormat
    return chartDataSet;
}

Чтобы отобразить градиент, я изменяю colorCode : [UIColor] на CGColor. Однако это выдает ошибку.

Есть ли способ изменить цвет на градиент в Swift, используя библиотеку диаграмм?

1 Ответ

0 голосов
/ 06 июня 2019

Я бы посоветовал заглянуть в ChameleonFramework, если вы еще этого не сделали https://github.com/viccalexander/Chameleon

Я использовал его вместе с диаграммами для градиентов на гистограммах, но я предполагаю, что он будет работать аналогично с круговыми диаграммами. С ChameleonFramework мой код выглядит примерно так:

    let color1 = UIColor(hex: 0x79D3DB)
    let color2 = UIColor(hex: 0x5773D3)

    let gradientColor = UIColor(gradientStyle: UIGradientStyle.topToBottom, withFrame: barChartView.frame, andColors: [color1, color2])

    var gradientColors = Array(repeating: gradientColor, count: 7)

    chartDataSet.colors = gradientColors as! [NSUIColor]

Это должно предотвратить возникновение проблем с конвертацией UIColor> CGColor. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...