Ios 斯威夫特的色彩

Ios 斯威夫特的色彩,ios,swift,uicolor,Ios,Swift,Uicolor,如果我只有一个十六进制颜色:292e3f,那么改变导航栏颜色的最佳方法是什么 它的工作与类似的东西: UINavigationBar.appearance().barTintColor = UIColor.blueColor() 但我不知道如何插入十六进制,我尝试在这个网站上使用: 但它似乎起了作用: var navBarColor = UIColor (red:0.161,green:0.18,blue:0.247,alpha:1.0) UINavigationBar.appearance(

如果我只有一个十六进制颜色:292e3f,那么改变导航栏颜色的最佳方法是什么

它的工作与类似的东西:

UINavigationBar.appearance().barTintColor = UIColor.blueColor()
但我不知道如何插入十六进制,我尝试在这个网站上使用:

但它似乎起了作用:

var navBarColor = UIColor (red:0.161,green:0.18,blue:0.247,alpha:1.0)
UINavigationBar.appearance().barTintColor = navBarColor

如果您能够,您可能会发现使用为UIColor添加十六进制支持的众多类别中的一个更容易。Github上有很多Objective-C实现,粗略搜索也发现了一个:


如果您能够,您可能会发现使用为UIColor添加十六进制支持的众多类别中的一个更容易。Github上有很多Objective-C实现,粗略搜索也发现了一个:


您可以创建自己的自定义十六进制扩展来轻松完成此任务。例如,类似的方法可能会起作用:

extension UIColor {
     convenience init(hex: Int) {
            let r = hex / 0x10000
            let g = (hex - r*0x10000) / 0x100
            let b = hex - r*0x10000 - g*0x100
            self.init(red: CGFloat(r)/255, green: CGFloat(g)/255, blue: CGFloat(b)/255, alpha: 1)
        }
}
然后你可以这样称呼它:

UINavigationBar.appearance().barTintColor = UIColor(hex: 0x292e3f)

获取所需的十六进制颜色。

您可以创建自己的自定义十六进制扩展,以轻松完成此操作。例如,类似的方法可能会起作用:

extension UIColor {
     convenience init(hex: Int) {
            let r = hex / 0x10000
            let g = (hex - r*0x10000) / 0x100
            let b = hex - r*0x10000 - g*0x100
            self.init(red: CGFloat(r)/255, green: CGFloat(g)/255, blue: CGFloat(b)/255, alpha: 1)
        }
}
然后你可以这样称呼它:

UINavigationBar.appearance().barTintColor = UIColor(hex: 0x292e3f)

获取所需的十六进制颜色。

第二个代码块不起作用是什么意思?条形图的颜色是否错误?我有一个问题,因为它在CGColor中,我在尝试将其与UIColor一起使用时遇到了一个错误Glynbeard第二种方式显示了良好的工作性能你说第二个代码块不工作是什么意思?酒吧的颜色是错误的吗?我有一个问题,因为它在CGColor,我得到了一个错误,试图使用UIColor的第二种方式Glynbeard显示工作很好没有问题,很高兴我可以帮助。没有问题,很高兴我可以帮助。