ViewControllerBased,Light content状态栏,带透明导航控制器

时间:2016-05-16 11:41:27

标签: ios swift uinavigationcontroller statusbar

在我的应用程序中,我想添加带有半透明透明导航栏的轻量内容状态栏。但是当我使导航栏变得透明时,它会使用黑色状态栏内容颜色进行自我调整。导航控制器在我的情况下是强制性的,因为表头必须用普通模式粘在它上面。感谢您的任何帮助。

enter image description here 我使用此代码使导航栏透明。

self.navigationBar.translucent = true
self.navigationBar.shadowImage = UIImage()
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)

我尝试通过设置导航控制器的栏样式来使状态栏外观亮起,如

self.navigationController!.navigationBar.barStyle = .Black/.Default

但是,我仍然面对同样的

1 个答案:

答案 0 :(得分:2)

如果您想将设置为完整应用

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        UIApplication.sharedApplication().statusBarStyle = .LightContent

        return true
    }

如果您只想更新视频控制器的

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    UIApplication.sharedApplication().statusBarStyle = .LightContent

}

适用于iOS 9

设置完整申请

只需打开info.plist并将UIViewControllerBasedStatusBarAppearance设置为false

现在在AppDelegate的didFinishLaunchingWithOptions方法

中更新

用于视图控制器

将基于视图控制器的状态栏外观设置为

在视图控制器中覆盖以下

override func preferredStatusBarStyle() -> UIStatusBarStyle 
{ return UIStatusBarStyle.LightContent }