Ios 无法转换类型为';[UIColor]';到预期的参数类型';NSUIColor';(又名UIColor)
我想在饼图中提供自定义颜色(使用Charts pod)。但是,setColors([NSUIColor])中的数组需要一个NSUIColor格式的颜色数组,我有颜色的十六进制代码。如何使用hexcode在饼图中实现自定义颜色 我的代码功能:Ios 无法转换类型为';[UIColor]';到预期的参数类型';NSUIColor';(又名UIColor),ios,swift3,pie-chart,Ios,Swift3,Pie Chart,我想在饼图中提供自定义颜色(使用Charts pod)。但是,setColors([NSUIColor])中的数组需要一个NSUIColor格式的颜色数组,我有颜色的十六进制代码。如何使用hexcode在饼图中实现自定义颜色 我的代码功能: func pieChartUpdate () { //future home of pie chart code let entry1 = PieChartDataEntry(value: Double(10), label: "Morni
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
)
}
}
如下所示设置颜色:
dataSet.colors = TimeColorString
如果要使用SetColor,以下是图表中的函数:
open func setColors(_ colors: [NSUIColor], alpha: CGFloat)
open func setColors(_ colors: NSUIColor...)
如何使用:
dataSet.setColors(TimeColorString, alpha: 1.0)
如下所示设置颜色:
dataSet.colors = TimeColorString
如果要使用SetColor,以下是图表中的函数:
open func setColors(_ colors: [NSUIColor], alpha: CGFloat)
open func setColors(_ colors: NSUIColor...)
如何使用:
dataSet.setColors(TimeColorString, alpha: 1.0)
首先创建NSUIColor数组,然后按如下方式使用它:
let TimeColorString = [NSUIColor(cgColor: UIColor(hex: "#00a8e1").cgColor)]
dataSet.colors = TimeColorString
首先创建NSUIColor数组,然后按如下方式使用它:
let TimeColorString = [NSUIColor(cgColor: UIColor(hex: "#00a8e1").cgColor)]
dataSet.colors = TimeColorString
什么是
NSUIColor
?这是在哪里定义的?从错误中可以看出,dataSet.setColors
实际上需要一个UIColor
实例,而不是数组。但请在您的问题中包含setColors
的函数签名。一些一般建议:不要显式调用.init
,使用缩写语法UIColor(hex:)
进行初始化。请遵守Swift命名约定,即变量和函数的小写形式。什么是NSUIColor
?这是在哪里定义的?从错误中可以看出,dataSet.setColors
实际上需要一个UIColor
实例,而不是数组。但请在您的问题中包含setColors
的函数签名。一些一般建议:不要显式调用.init
,使用缩写语法UIColor(hex:)
进行初始化。请遵守Swift命名约定,即变量和函数的小写形式。