如果我拥有的是十六进制颜色,更改导航栏颜色的最佳方法是什么:#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
答案 0 :(得分:4)
您可以创建自己的自定义十六进制扩展来轻松完成此操作。例如,这样的事情可能有用:
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)
获取所需的十六进制颜色。
答案 1 :(得分:1)
如果您能够这样做,您可能会发现使用向UIColor
添加十六进制支持的众多类别之一更容易。 Github上有很多Objective-C实现,粗略的搜索也发现了一个Swift: