我在状态栏中出现了文本颜色问题。我想将文本的颜色设为白色,但在模态视图中保持黑色。
我有下一个配置:
UITabBarViewController
UINavigationControllers
UIViewController
内部的自定义子类UINavigationBar的背景色通过设置为暗appearance
。
View controller-based status bar appearance
调成 YES
我的子类UITabBarViewController
具有下一个方法:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
}
应用程序启动后将调用这些方法。
我的UIViewControllers
子类中也有相同的方法调用:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent; // This method never called
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
}
我还尝试将返回值更改-preferredStatusBarStyle
为UIStatusBarStyleDefault
(嗯,我知道它应该将文本涂成黑色,但是我还是尝试了)
在“情节提要”中将“状态栏”选项设置为“灯光内容”也是一样。也不行。
我知道SO上有很多与我类似的问题,但是提出的解决方案对我的情况没有帮助。
我的状态栏仍然看起来像这样:
我想将其颜色更改为白色= /
在解决此问题大约2周后,我偶尔会发现此问题。
// This is a workaround just enables white text colour in status bar in iOS7, iOS7.1
// Dont touch it until things break
// Despite this category says "draw white", colour automatically becomes black on white background w/o additional code
@interface UINavigationController (StatusBarStyle)
@end
@implementation UINavigationController (StatusBarStyle)
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
@end
// Place at the bottom of your AppDelegate.m
// Magic!
我要感谢回答了这个问题的人,但是我已经尝试了这些解决方案,但它们没有帮助:( UINavigationController上的此类仅适用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句