我如何selecthexforms或RGBforms的颜色,而不是使用在Swift中给我的颜色

我正在尝试将TopScoreContainer的背景颜色更改为更浅的绿色。 我不想使用greenColor()。 这是一行代码:

self.TopScoreContainer.backgroundColor = UIColor.greenColor() 

是否有可能用hex数字或RGB值代替greenColor()? 谢谢。

  let myCustomColorHSBa = UIColor(hue: 120/360, saturation: 0.25 , brightness: 1.0 , alpha: 1) let myCustomColorRGBa = UIColor(red: 191/255, green: 1, blue: 191/255, alpha: 1) 

用它作为扩展只读计算var:

只读计算属性

具有getter但没有setter的计算属性被称为只读计算属性。 只读计算属性总是返回一个值,可以通过点语法访问,但不能设置为不同的值。

注意

您必须将计算属性(包括只读计算属性)用var关键字声明为variables属性,因为它们的值不是固定的。 let关键字仅用于常量属性,表示一旦将它们设置为实例初始化的一部分,就不能更改它们的值。

您可以通过删除get关键字及其大括号来简化只读计算属性的声明:

 extension UIColor { var lightGreen: UIColor { return UIColor(red: 191/255, green: 1, blue: 191/255, alpha: 1) } } let lightGreen = UIColor().lightGreen 

或者你也可以创build你自己的htmlColorinput如下:

更新: Xcode 7.2•Swift 2.1.1

 extension String { subscript(range: Range<Int>) -> String { return range.startIndex < 0 || range.endIndex > characters.count ? "Out of Range" : substringWithRange(Range(start: startIndex.advancedBy(range.startIndex),end: startIndex.advancedBy(range.endIndex))) } var hexaCGFloat: CGFloat { return CGFloat(strtoul(self, nil, 16)) } } extension UIColor { convenience init(htmlColor: String, alpha: Double) { self.init(red: htmlColor[1...2].hexaCGFloat / 255.0, green: htmlColor[3...4].hexaCGFloat / 255.0, blue: htmlColor[5...6].hexaCGFloat / 255.0, alpha: CGFloat(alpha) ) } convenience init(r: Int, g:Int , b:Int , a: Int) { self.init(red: CGFloat(r)/255, green: CGFloat(g)/255, blue: CGFloat(b)/255, alpha: CGFloat(a)/255) } } let myColor = UIColor(r: 255 , g: 0, b: 0, a: 255) let myHtmlWebColor = UIColor(htmlColor: "#bfffbf", alpha: 1.0)