主视图(自定义UIViewController,没有导航控制器或导航栏),其中包含一个按钮,该按钮以模态方式切换到第二个表视图控制器,该控制器嵌入在导航控制器中:
MainView -> Navigation Controller -> TableView
在MainView上,状态栏为黑色(即使将状态栏设置为默认值,在iOS 6上也不会更改)。 在TableViewController上,状态栏应为默认样式(在iOS 5中为灰色,在iOS 6中由于导航栏而带有蓝色色调)。
在iOS 5中,可以通过在TableViewController中添加以下代码轻松实现:
if ([[UIApplication sharedApplication] respondsToSelector:@selector(setStatusBarStyle:)]) {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
}
在iOS 6上运行此代码没有任何反应。我该如何解决?我已经尝试了项目概要和plist中所有可能的状态栏设置(例如这里所描述的:https://dev59.com/52cs5IYBdhLWcg3w8oTK#12468689)。
另外,在Storyboard中一切看起来都很好。但在模拟器或设备上运行时,它看起来不同:
![Storyboard](https://istack.dev59.com/XTPa8.webp)
![Simulator](https://istack.dev59.com/0Z8fv.webp)