如果我所拥有的是十六进制颜色,那么更改导航栏颜色的最佳方法是什么:#292e3f
它的工作很好,就像这样:
UINavigationBar.appearance().barTintColor = UIColor.blueColor()但我不知道如何插入一个十六进制,我尝试了我们在这个网站:
http://www.touch-code-magazine.com/web-color-to-uicolor-convertor/
但它似乎起作用了:
var navBarColor = UIColor (red:0.161,green:0.18,blue:0.247,alpha:1.0)
UINavigationBar.appearance().barTintColor = navBarColor发布于 2014-11-06 16:30:24
您可以创建您自己的自定义十六进制扩展,以实现这一点相当容易。例如,类似这样的事情可能会奏效:
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)才能得到你想要的六角色。
发布于 2014-11-06 16:25:32
如果您能够这样做,您可能会发现使用UIColor中添加了十六进制支持的众多类别中的一种更容易。在Github上有很多目标-C实现,粗略的搜索也发现了一个Swift实现:
https://stackoverflow.com/questions/26784334
复制相似问题