gpt4 book ai didi

ios - 无法将类型 '[UIColor]' 的值转换为预期参数类型 'NSUIColor' (又名 'UIColor' )

转载 作者:行者123 更新时间:2023-11-29 00:12:21 28 4
gpt4 key购买 nike

我想在饼图中提供自定义颜色(使用图表 Pane )。但是为此,setColors([NSUIColor]) 中的数组需要 NSUIColor 格式的颜色数组,我有颜色的十六进制代码。如何使用十六进制代码在饼图中实现自定义颜色?

我的代码功能:

func pieChartUpdate ()
{
//future home of pie chart code

let entry1 = PieChartDataEntry(value: Double(10), label: "Morning")
let entry2 = PieChartDataEntry(value: Double(20), label: "Evening")
let entry3 = PieChartDataEntry(value: Double(30), label: "Midday")
let entry4 = PieChartDataEntry(value: Double(40), label: "Before Bed")
let dataSet = PieChartDataSet(values: [entry1, entry2, entry3, entry4], label: "Widget Types")
let data = PieChartData(dataSet: dataSet)
pieChartTime.data = data
pieChartTime.chartDescription?.text = "Share of Widgets by Type"

//All other additions to this function will go here

dataSet.setColors(TimeColorString)
dataSet.valueColors = [UIColor.black]


//This must stay at end of function
pieChartTime.notifyDataSetChanged()

}

颜色代码数组:

let TimeColorString = [UIColor.init(hex: "3366cc"),UIColor.init(hex: "ff9900"),UIColor.init(hex: "dc3912"),UIColor.init(hex: "109618")]

我用来将 Hexcode 转换为 UIColor 的扩展是:

//To convert hexcode into UI Color
extension UIColor {
convenience init(hex: String) {
let scanner = Scanner(string: hex)
scanner.scanLocation = 0

var rgbValue: UInt64 = 0

scanner.scanHexInt64(&rgbValue)

let r = (rgbValue & 0xff0000) >> 16
let g = (rgbValue & 0xff00) >> 8
let b = rgbValue & 0xff

self.init(
red: CGFloat(r) / 0xff,
green: CGFloat(g) / 0xff,
blue: CGFloat(b) / 0xff, alpha: 1
)
}
}

最佳答案

首先创建 NSUIColor 数组,然后按如下方式使用它:

let TimeColorString = [NSUIColor(cgColor: UIColor(hex: "#00a8e1").cgColor)]
dataSet.colors = TimeColorString

关于ios - 无法将类型 '[UIColor]' 的值转换为预期参数类型 'NSUIColor' (又名 'UIColor' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46110737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com