关于状态栏的颜色的自定义的问题

来源:互联网 发布:最新的编程语言 编辑:程序博客网 时间:2024/04/29 18:55

https://segmentfault.com/a/1190000003482218好文章的参考地址

关于自定义状态栏的问题第一步将info.plist文件的View controller-based status bar appearance设置为YES,即可开启由VC来控制状态栏的功能,

接下来就是修改状态栏的时候了

只要你记住你当前的页面的跟控制器是谁,然后使用下面的方法就可以控制你任意想改的状态栏的状态了,(虽然只有两种状态栏的样式。。。。)

A:-(void)setNeedsStatusBarAppearanceUpdate{
    [self preferredStatusBarStyle];
}

B:- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

我把函数A去掉之后发现方法B还是好使的,参考上面的文章里面说的,方法A只是起到了一个保险的作用,(我其实不知道保险啥,保险方法B能够运行吗,估计是吧,大家可以研究下)

[TTRootViewController sharedInstance].mainViewController这就是我的根控制器;[TTRootViewController sharedInstance].mainNavViewController好像和前面的效果都是一样的,至少在换状态栏这里面的效果是一样的,不知道在其他地方会不会有什么不同。

为什么要说跟控制器呢,因为往往我们要跳转到其他的B页面再返回A页面,这时我们返回回来的时候状态栏可能就发生改变了,因为上一个页面的状态栏和返回来的状态栏的颜色不对,所以我们就需要用在A跳到B页面的时候用的必须是A的根视图来进行跳转,这样我们返回回来的 时候就不会因为B页面的状态栏的颜色而影响到A页面的状态栏的颜色了。

0 0
原创粉丝点击