我正在尝试将我的一个模态视图中状态栏的字体颜色更改为白色。其他 View 在应用委托(delegate)中设置为白色。
我已尝试在 ViewController 中类似问题的答案中找到以下代码。
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
但这不起作用,因为字体仍然显示为黑色。
iOS 领域的新手,如有任何建议,请提供帮助。
Best Answer-推荐答案 strong>
您需要结合使用当前代码,并将 Info.plist 中的 View 基于 Controller 的状态栏外观 键设置为 YES。
不过,这里缺少的一 block 拼图是,您还需要告诉 iOS 您想要更新状态栏:
- (void)setNeedsStatusBarAppearanceUpdate;
它是 UIViewController 上的一个方法。像这样在 viewDidLoad 中调用它:
- (void)viewDidLoad
{
[self setNeedsStatusBarAppearanceUpdate];
...
请注意,它仅适用于 iOS 7,并在 iOS 6 及更低版本上引发异常,因此在我的所有项目中,我都有一个像这样的 #define :
#define kIs7 ([[[UIDevice currentDevice] systemVersion] compare"7.0" options:NSNumericSearch] != NSOrderedAscending)
那么在 iOS 6 及更低版本上不运行仅限 iOS 7 的方法真的很简单:
if (kIs7) [self setNeedsStatusBarAppearanceUpdate];
关于模态视图的 iOS7 状态栏字体颜色,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21565311/
|