本文作者:佚名

关于在ios7之后改变状态栏颜色

佚名 2019-04-12 114
摘要:看到网上都说 在ios7之后要这样设置首先,须要在Info.plist配置文件里,添加键:UIViewControllerBasedStatusBarAppearance,并


看到网上都说 在ios7之后要这样设置

首先,须要在Info.plist配置文件里,添加键:UIViewControllerbasedStatusBarAppearance,并设置为YES;

然后,在UIViewController子类中实现下面两个方法:

- (UIStatusBarStyle)preferredStatusBarStyle{    return UIStatusBarStyleLightContent}- (BOOL)prefersStatusBarHidden{    return NO}最后,在须要刷新状态栏样式的时候,调用[self setNeedsStatusBarAppearanceUpdate]方法就可以刷新注意:
[self setNeedsStatusBarAppearanceUpdate]在push  或者 present 的controller里面调用才起作用。

奇怪的是 我这样设置之后 仅仅有在登录界面实用 界面登录跳转之后(正确的说 应该是还没跳转的时候 网络请求数据之后 状态栏的颜色就变为黑色了。而且在下个界面怎么设置都没用、或许是由于我登录界面是present过去或者什么原因吧,先不讨论这个)颜色就变回去了,不知道是这种方法有问题,还是我代码有问题。

然后我找了一个在我的project中可用的。稍微改动,由于我刚进界面会有张全屏图

调用setStatusBarStyle 不论什么iOS版本号可用

plist文件里
代码中
    if (IsIOS7Later) {        [[UIApplication sharedApplication] setStatusBarHidden:NO]        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]    }

并且 我还发现 ios6.0下。登录的界面没有状态栏了。。

(登录界面不是navg)仅仅好

if (!IsIOS7Later) {

[UIApplicationsharedApplication].statusBarHidden =NO

}

。。
哎 详细为什么

- (UIStatusBarStyle)preferredStatusBarStyle
这种方法在另外一个界面就不行了 还是以后再研究吧 预计是我代码问题。



未经允许不得转载:

作者:佚名,标题:关于在ios7之后改变状态栏颜色,原文地址:https://www.vfjianzhan.com/asp/77127.html发布于2019-04-12
转载或复制请以超链接形式并注明出处DESTOON

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏