<分区>
很多应用,比如 Twitter,改变了导航栏和状态栏的背景颜色,使它们成为一个集成的设计。
我正在寻找一种创建这种效果的方法,即更改两个条形的颜色。特别是状态栏。
我怎样才能实现它?
<分区>
很多应用,比如 Twitter,改变了导航栏和状态栏的背景颜色,使它们成为一个集成的设计。
我正在寻找一种创建这种效果的方法,即更改两个条形的颜色。特别是状态栏。
我怎样才能实现它?
最佳答案
我发现有两种方法可以做到这一点。
第一个
通过 xcode,如果您已将 Bar 手动添加到您的 viewController。
在“Bar Tint”选项下
查看此图片:http://picpaste.com/f4e9ba0f2e78b88b227e95d61e55c539.png
第二个
以编程方式,如果您有导航 Controller 。
要使该方法起作用,您需要将代码放在导航 Controller 本身的 viewDidLoad() 上。
class NavigationController: UINavigationController, UIViewControllerTransitioningDelegate {
override func viewDidLoad() {
super.viewDidLoad()
let myBarColor = UIColor(red: 64/256, green: 86/256, blue: 106/256, alpha: 1.0)
self.navigationBar.barStyle = UIBarStyle.Black
self.navigationBar.tintColor = myBarColor
}
}
编辑:处理状态栏
let myBarColor = UIColor(red: 64/256, green: 86/256, blue: 106/256, alpha: 1.0)
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.mainScreen().bounds.size.width, height: 20.0))
view.backgroundColor = myBarColor
self.view.addSubview(view)
快速解释 UIColor() 构造函数中的值
我使用的 UIColor() 构造函数在 Red: Green: Blue: 参数中使用 RGB 值,范围从 0.0 到 1.0。要以一种简单的方式将十六进制值转换为 RGB,您可以在 XCode 中打开颜色选择器,粘贴您的十六进制值,然后在这些参数上输入红绿蓝值,每个除以 256 以符合 0.0到 1.0 比例。我输入的值将与您在评论中要求的颜色相匹配。最后一个参数是 alpha 值,您可以使用 0 到 1.0。
关于ios - 如何更改状态栏背景,就像在 Twitter 应用程序中一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32107202/