按钮文字 - 十六进制的UIColor?迅速

Bra*_*rad 1 hex text uibutton uicolor swift

这是将我的按钮文本更改为绿色的行

self.button.setTitleColor(UIColor.greenColor(), forState: .Normal)
Run Code Online (Sandbox Code Playgroud)

这给了我标准的绿色.有没有办法使用十六进制数?我有一个十六进制数字表示苍白的绿色阴影,我现在不需要在我的电脑上对不起.

*此外,在我点击按钮后发生这种颜色变化,只是没有发布那部分代码.我知道我可以选择它最初在我的故事板部分显示的任何颜色.

任何指导或帮助非常感谢.谢谢.

Tom*_*adi 6

这将是代码:

UIColor(red: 255/255, green: 204/255, blue: 0/255, alpha: 1.0) /* #ffcc00 */
Run Code Online (Sandbox Code Playgroud)

也是一个非常有用的工具/网站,用于将颜色转换为有用的 Swift 代码:

https://www.ralfebert.de/snippets/ios/swift-uicolor-picker/

编辑:

例子:

self.button.setTitleColor(UIColor(red:0.96, green:0.28, blue:0.28, alpha:1.0), forState: .Normal)
Run Code Online (Sandbox Code Playgroud)

或者如果您想要更清洁的解决方案:

var myColor = UIColor(red:0.96, green:0.28, blue:0.28, alpha:1.0)
self.button.setTitleColor(myColor, forState: .Normal)
Run Code Online (Sandbox Code Playgroud)


atx*_*txe 6

UIColor在项目中添加了一个扩展名来执行此操作:

extension UIColor {

    convenience init(rgb: UInt) {
        self.init(rgb: rgb, alpha: 1.0)
    }

    convenience init(rgb: UInt, alpha: CGFloat) {
        self.init(
            red: CGFloat((rgb & 0xFF0000) >> 16) / 255.0,
            green: CGFloat((rgb & 0x00FF00) >> 8) / 255.0,
            blue: CGFloat(rgb & 0x0000FF) / 255.0,
            alpha: CGFloat(alpha)
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以使用它:

let brown = UIColor(rgb: 0xBE5300)  // BE5300 is the hex value
Run Code Online (Sandbox Code Playgroud)