更改标签栏颜色(Swift)

Jor*_*dan 15 tabview swift

我试图使用swift更改XCode中的视图控制器中的标签栏颜色.我有一个十六进制,我匹配RGB值,我试图在此代码中设置它.(哪个不起作用)

let color = UIColor(red: 41, green: 40, blue: 39, alpha: 1.0)
UITabBar.appearance().barTintColor = color
Run Code Online (Sandbox Code Playgroud)

但是这段代码确实:

UITabBar.appearance().barTintColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么这不起作用,我能做些什么来解决它?

Ron*_*ler 13

要使用RGB值,只需将它们除以255.0.这将产生0到1之间的浮点值.

let color = UIColor(red: 41.0/255.0, green: 40.0/255.0, blue: 39.0/255.0, alpha: 1.0)
Run Code Online (Sandbox Code Playgroud)


Jes*_*ssy 5

它不起作用,因为所有RGB组件都大于1,这是每个通道的最大可用值.您可能会将颜色通道视为字节,但这不会扩展到不同的颜色位深度.(例如,在早期版本的iOS中渲染到RGB565,而不是RGBA8888是很常见的.你可以期望Apple在不久的将来制作具有16位精度的屏幕.)从0到1的浮点数被使用,从颜色表示中离开位深度.

https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UIColor_Class/index.html#//apple_ref/occ/instm/UIColor/initWithRed:green:blue:alpha :