ios – 隐藏导航栏时的假状态栏颜色

前端之家收集整理的这篇文章主要介绍了ios – 隐藏导航栏时的假状态栏颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到状态栏和问题的问题导航栏.默认情况下,UINavigationController的导航栏延伸到状态栏后面并为其着色(左侧屏幕截图).

使用搜索栏时,我隐藏了导航栏.这会导致未着色的状态栏. Apple的Mail应用程序没有此问题.

除了创建一个具有背景颜色的单独UIView并将其放在状态栏后面之外,还有其他解决方案吗?

这就是我想要完成的事情:

解决方法

当您隐藏navigationBar时,为什么不同时更新UIStatusBar的外观.

在NavigationController中实现此功能

-(UIStatusBarStyle)preferredStatusBarStyle{
    //Have an if statement to determine which UIStatusBarStyle to return,i.e if the navigationBar is hidden 
    return UIStatusBarStyleLightContent; 
 }

在使用以下方法隐藏导航栏时调用它:

[self setNeedsStatusBarAppearanceUpdate];

另一个选择是执行以下操作:

在info pList文件中将UIViewControllerBasedStatusBarAppearance设置为NO.
然后你可以打电话

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

猜你在找的iOS相关文章