ios - 如何更改状态栏背景,就像在 Twitter 应用程序中一样?

标签 ios swift twitter

<分区>

很多应用,比如 Twitter,改变了导航栏和状态栏的背景颜色,使它们成为一个集成的设计。

这是一个示例截图: enter image description here

我正在寻找一种创建这种效果的方法,即更改两个条形的颜色。特别是状态栏。

我怎样才能实现它?

最佳答案

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

第一个

通过 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/

相关文章:

ios - 具有不同对齐 subview 的 UIStackview

iOS Facebook 登录 - 链接器错误

Swift UISearchController 在核心数据项目中连接,应用程序运行,但搜索不更新

ios - 如何在 MPMediaItemArtwork 中加载 URL 图片

java.sql.SQLException : Incorrect string value: '\xF0\x9F\x98\x8F' for column 'tweetcontent' at row 1 异常

twitter - 你如何使用推特API?

node.js - Bower 不复制项目文件夹中的文件

objective-c - 如何使类别类中的方法可用于其他类?

ios - 如何处理不正确的 CLLocation 数据

Swift:多个函数同时工作