基于不同的ViewController,在iOS 7中设置灯光状态栏文字颜色的正确方法

基于不同的ViewController,在iOS 7中设置灯光状态栏文字颜色的正确方法,第1张

概述我需要让一个嵌入在UINavigationController中的特定ViewController具有灯状态栏的文本颜色(但其他ViewController的行为方式不同).我知道至少有3种方法,但是在我的情况下都不行. > How to change Status Bar text color in iOS 7,方法主要是: >在plist中将UIViewControllerBasedStatu 我需要让一个嵌入在UINavigationController中的特定VIEwController具有灯状态栏的文本颜色(但其他VIEwController的行为方式不同).我知道至少有3种方法,但是在我的情况下都不行.

> How to change Status Bar text color in iOS 7,方法主要是:

>在pList中将UIVIEwControllerBasedStatusBarappearance设置为YES
>在vIEwDIDLoad中做一个[self setNeedsstatusBarappearanceUpdate];
>添加以下方法:

- (UIStatusbarStyle)preferredStatusbarStyle{       return UIStatusbarStylelightContent;   }

在iOS 7.0.3上运行,这种方法对我来说不起作用,因为即使我已经正确地实现了所有3个步骤,preferredStatusbarStyle也不会被调用.
> UIStatusBarStyle PreferredStatusBarStyle does not work on iOS 7,方法主要有:

将您的导航栏的barStyle设置为UIbarStyleBlackTranslucent将给出白色状态栏文本(即UIStatusbarStylelightContent),UIbarStyleDefault将给出黑色状态栏文本(即UIStatusbarStyleDefault).

这种方法在iPhone上运行平稳,但不在iPad上.
>将UIVIEwControllerBasedStatusbar外观设置为pl,然后使用

[[UIApplication sharedApplication] setStatusbarStyle:UIStatusbarStylelightContent];

这显然不适用于这种情况,因为我需要为两个VIEwController指定不同的状态栏颜色.

感谢所有帮助!

解决方法 对于有UINavigationController的这个问题的人,我可以建议创建一个自定义的UINavigationController并在其上实现preferredStatusbarStyle:
- (UIStatusbarStyle)preferredStatusbarStyle{    return [self.topVIEwController preferredStatusbarStyle];}

这样,状态栏样式将是顶视图控制器的.现在你可以实现视图控制器的preferredStatusbarStyle,无论如何你喜欢.

总结

以上是内存溢出为你收集整理的基于不同的ViewController,在iOS 7中设置灯光状态栏文字颜色的正确方法全部内容,希望文章能够帮你解决基于不同的ViewController,在iOS 7中设置灯光状态栏文字颜色的正确方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113407.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存