* 注意:iPhoneX导航栏高度是 44 + 44
2.状态栏字体颜色:
2.1:黑色: UIStatusBarStyleDefault (默认)
2.2:白色: UIStatusBarStyleLightContent
方法一 : 在 info.plist 中,将 View controller-based status bar appearance 设为 NO
1.全局的设置 在app delegate中设置状态栏颜色:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent
2.全局隐藏状态栏(会往上移动状态栏的高度,一般不会全局隐藏它)
[UIApplication sharedApplication].statusBarHidden = YES
方法二:
在 info.plist 中,将 View controller-based status bar appearance 设为 YES (默认值就是YES),或者没有设置。 (建议使用方法一,这个方法我没用过)
如果值为YES。方法一的设置方法则无效,用下面方法
//在基类的Navigation中设置全局颜色,但是隐藏nav的颜色会不更改
//在VC中设置
//获取高度,然后在特殊界面根据状态栏高度适配
//statusBar高度
链接2
状态栏的字体为黑色:UIStatusBarStyleDefault
状态栏的字体为白色:UIStatusBarStyleLightContent
状态栏字体的颜色只由下面的属性设定,默认为白色:
解决个别vc中状态栏字体颜色不同的办法
在info.plist中 View controller-based status bar appearance 的 默认值就是YES
如果View controller-based status bar appearance为YES 时 [UIApplication sharedApplication].statusBarStyle 无效。
解决方案:
当vc在nav中时,上面方法没用,vc中的preferredStatusBarStyle方法根本不用被调用。
原因是,[self setNeedsStatusBarAppearanceUpdate]发出后,只会调用navigation controller中的preferredStatusBarStyle方法,vc中的preferredStatusBarStyley方法跟本不会被调用。
解决办法有两个:
1.View controller-based status bar appearance = NO
2.View controller-based status bar appearance = YES
3.设置Status bar is initially hidden = YES
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)