ViewControllerBased,带有透明导航控制器的轻型内容状态栏
ViewControllerBased, Light content Status bar with Transparent Navigation Controller
在我的应用程序中,我想添加带有半透明、透明导航栏的浅色内容状态栏。但是,当我使导航栏透明时,它会使用黑色状态栏内容颜色进行自我调整。在我的例子中,导航控制器是强制性的,因为 table header 需要在普通模式下坚持使用它。我们将不胜感激。
我已使用此代码使我的导航栏透明。
self.navigationBar.translucent = true
self.navigationBar.shadowImage = UIImage()
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
我尝试通过像
这样设置导航控制器的栏样式来使状态栏外观变亮
self.navigationController!.navigationBar.barStyle = .Black/.Default
但是,我仍然面临同样的问题
如果你想设置 完整应用程序
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
}
对于iOS9
设置为 完整应用程序
只需打开info.plist并将UIViewControllerBasedStatusBarAppearance
设置为false
现在在 AppDelegate 的 didFinishLaunchingWithOptions
方法中更新
仅用于视图控制器
将基于视图控制器的状态栏外观设置为YES
在你的视图控制器中重写下面
override func preferredStatusBarStyle() -> UIStatusBarStyle
{ return UIStatusBarStyle.LightContent }
在我的应用程序中,我想添加带有半透明、透明导航栏的浅色内容状态栏。但是,当我使导航栏透明时,它会使用黑色状态栏内容颜色进行自我调整。在我的例子中,导航控制器是强制性的,因为 table header 需要在普通模式下坚持使用它。我们将不胜感激。
self.navigationBar.translucent = true
self.navigationBar.shadowImage = UIImage()
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
我尝试通过像
这样设置导航控制器的栏样式来使状态栏外观变亮self.navigationController!.navigationBar.barStyle = .Black/.Default
但是,我仍然面临同样的问题
如果你想设置 完整应用程序
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
}
对于iOS9
设置为 完整应用程序
只需打开info.plist并将UIViewControllerBasedStatusBarAppearance
设置为false
现在在 AppDelegate 的 didFinishLaunchingWithOptions
方法中更新
仅用于视图控制器
将基于视图控制器的状态栏外观设置为YES
在你的视图控制器中重写下面
override func preferredStatusBarStyle() -> UIStatusBarStyle
{ return UIStatusBarStyle.LightContent }