Dan*_*ico 6 user-interface xcode ios swift
我的应用程序仅适用于iOS 8我和我正在使用XCode 6.1.1.
如果我通过故事板设置颜色(Bar Tint在Navigation Bar部分设置属性)
所需的颜色是:
56 186 145
我使用Core编码实用程序来获取我的颜色的浮动值.
按代码:
let backgroundColor = UIColor(red: 0.22, green: 0.729, blue: 0.569, alpha: 1.0)
self.navigationController!.navigationBar.barTintColor = backgroundColor
self.navigationController!.navigationBar.translucent = false
Run Code Online (Sandbox Code Playgroud)
通过故事板设置的颜色与原始RGB相同.


编辑
我尝试使用let backgroundColor = UIColor(red: 0.255, green: 0.769, blue: 0.635, alpha: 1.0)和故事板中的rgb:65 196 162基于@siejkowski评论,但我得到这些颜色:
按代码:

通过故事板:

为什么?
Kam*_*pai 12
您观察到的颜色差异有两个原因.
UIColor按RGB值编码时,它将返回RGB(通用RGB)值.因此,当您从Storyboard更改颜色时,RBG类型的值会有所不同.在Storyboard中获取RGB滑块的精确RGB值更改类型.
单击"设置"图标,该图标与RGB滑块选项完全相同.它将显示一个弹出菜单 - 选择Generic RGB选项.

现在,您可以观察RGB值的图像
56 186 145
Run Code Online (Sandbox Code Playgroud)
现在改为
49 175 126
Run Code Online (Sandbox Code Playgroud)
所以这些是编码的欲望值.
在代码中,您传递给出参数的向上舍入值,如下面一行
UIColor(red: 0.22, green: 0.729, blue: 0.569, alpha: 1.0)
Run Code Online (Sandbox Code Playgroud)
因此,它会对颜色代码的每个像素进行一次小的更改.我建议你将这个值除以255并保留编译器的向上计算.这将为您提供所需的颜色准确性.
所以现在对于新值,更新代码将是:
let backgroundColor = UIColor(red: 49.0/255.0, green: 175.0/255.0, blue: 126.0/255.0, alpha: 1.0)
self.navigationController!.navigationBar.barTintColor = backgroundColor
self.navigationController!.navigationBar.isTranslucent = false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3928 次 |
| 最近记录: |