导航栏隐藏时,假状态栏颜色
我遇到了状态栏和导航栏的问题。 默认情况下, UINavigationController
的导航栏延伸到状态栏的后面并为其添加颜色(左侧截图)。
当使用search栏时,我隐藏了导航栏。 这导致一个无色的状态栏。 苹果的邮件应用程序没有这个问题。
有没有其他解决scheme,而不是创build一个单独的UIView背景颜色,并将其置于状态栏之后?
这是我想要完成的:
当你隐藏导航条的时候你为什么不更新你的UIStatusBar的外观。
在您的NavigationController中实现这个function:
-(UIStatusBarStyle)preferredStatusBarStyle{ //Have an if statement to determine which UIStatusBarStyle to return, ie if the navigationBar is hidden return UIStatusBarStyleLightContent; }
并通过使用这个隐藏导航栏时调用它:
[self setNeedsStatusBarAppearanceUpdate];
另一种select是做到以下几点:
在你的info pList文件中设置UIViewControllerBasedStatusBarAppearance为NO。 那你可以打电话
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
在您的IB(或编程),尝试检查顶部栏的模拟指标:你应该从不透明到半透明(导航栏)。
注意 :默认情况下,导航栏是半透明的。 你应该得到免费的“彩色”**状态栏。
**由UISearchBar.appearance().barTintColor
定义