我正在努力解决一个 ios7/objective-c 问题,希望有人能够帮助我。
作为一些背景,我有一个在 io6 设备上按预期呈现的应用程序,但我试图使其符合 ios7。
事情变得令人困惑的是,我的代码在 iPhone 上按预期工作,但在 iPad 上却没有。
从下面的图像中,您将看到状态栏(运营商、时间、电池)在 iPhone 上按预期呈现,但在 iPad 上却没有:
(注意:由于这是我第一次发帖,我不能直接嵌入图像,对此感到抱歉)。
从编码的角度来看,我已经尝试了所有建议:How to change Status Bar text color in iOS 7 without any lucky。
我所拥有的使应用程序按预期呈现的是我的 AppDeligate 中的以下定义。
// News page
newsViewController = [[NewsViewController alloc] init];
newsNavigationController = [[UINavigationController alloc] initWithRootViewController:newsViewController];
newsNavigationController.navigationBar.translucent = NO;
newsNavigationController.navigationBar.barStyle = UIStatusBarStyleLightContent;
newsNavigationController.navigationBar.tag = 4013;
现在我认为这个问题是,即使我将栏样式设置为UIStatusBarStyleLightContent
,这应该将文本置于白色,但在 iPad 上并没有这样做。相反,它呈现为黑底黑字。
这似乎是这种情况,因为如果我删除该行:
newsNavigationController.navigationBar.translucent = NO;
黑色变为深灰色,并且可以在黑色中看到载体、日期、电池。我愿意忍受深灰色和黑色背景,但状态栏项目需要像 iphone 一样呈现为白色。
有什么建议么?
PS 我不确定这是否有助于将事情指向正确的方向,但 iPad 使用的是 splitview 控制器。
谢谢