【发布时间】:2014-08-02 19:34:53
【问题描述】:
我正在尝试从数组中获取Int 值并将它们转换为CGFloats,以便我可以根据这些红色、绿色和蓝色值创建UIColor。很简单,对吧?
我可以成功地将Int 值从数组中取出,但是当我尝试转换为CGFloat 时,结果为0.000000。这是为什么呢?
let colorArray = NSUserDefaults.standardUserDefaults().arrayForKey("colors")
let redValue = colorArray[0] as Int
let greenValue = colorArray[1] as Int
let blueValue = colorArray[2] as Int
NSLog("%i", redValue) //prints 255
NSLog("%i", greenValue) //prints 250
NSLog("%i", blueValue) //prints 150
let redFloat = CGFloat(redValue) / 255.0
let greenFloat = CGFloat(greenValue) / 255.0
let blueFloat = CGFloat(blueValue) / 255.0
NSLog("%f", redFloat) //prints 0.000000
let color = UIColor(red: redFloat, green: greenFloat, blue: blueFloat, alpha: 1)
如果我不除以 255.0,我会得到相同的结果 - 0。我在这里做错了什么?
【问题讨论】:
标签: ios swift int uicolor cgfloat