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

时间:2016-01-28 22:21:23

标签: swift text uibutton hex uicolor

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

的行
self.button.setTitleColor(UIColor.greenColor(), forState: .Normal)

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

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

任何指导或帮助都非常感谢。感谢。

3 个答案:

答案 0 :(得分:6)

您在项目中添加了public class Solstice { public static void main(String[] args){ Scanner in = new Scanner(System.in); int month; int day; String season = "seasons"; System.out.println("Enter a month: "); month = in.nextInt(); System.out.println("Enter a day: "); day = in.nextInt(); String winter = "winter"; String spring = "spring"; String summer = "summer"; String fall = "fall"; System.out.println("Month="+ month +" Day= "+day); if (month <= 3) { season = winter; } else if (month <= 6) { season = spring; } else if (month <= 9) { season = summer; } else if (month <= 12) { season = fall; } else { System.out.println("The value is invalid."); } System.out.println(season); } } 扩展程序:

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)
        )
    }
}

答案 1 :(得分:1)

这将是代码:

UIColor(red: 255/255, green: 204/255, blue: 0/255, alpha: 1.0) /* #ffcc00 */

也是一个非常有用的工具/网站,用于将颜色转换为有用的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)

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

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

答案 2 :(得分:0)

我们假设您有十六进制组件{dd,fe,a8}。您可以使用带有单个组件的初始化程序从它们构造UIColor,如下所示:

color = UIColor(
    red: Float(0xDD) / 255.0
, green: Float(0xFE) / 255.0
,  blue: Float(0xA8) / 255.0
, alpha: Float(1)
)