如何在twitter应用程序中更改状态栏背景?

时间:2015-08-19 23:22:47

标签: ios swift twitter

许多应用程序(如twitter)会更改导航栏的背景颜色以及状态栏,使其成为一个集成的设计。

以下是一个示例屏幕截图: enter image description here

我正在寻找一种创造效果的方法,改变两种条形颜色。特别是状态栏。

我怎么能实现它?

1 个答案:

答案 0 :(得分:4)

我发现有两种方法可以做到这一点。

第一个

通过xcode,如果您已手动将栏添加到viewController。

它位于“Bar Tint”选项

之下

查看此图片:http://picpaste.com/f4e9ba0f2e78b88b227e95d61e55c539.png

第二个

以编程方式,如果您有导航控制器。

要使该方法起作用,您需要将代码放在导航控制器本身的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。