我有以下星座:
主视图(自定义 UIViewController,无导航控制器或导航栏),包含一个按钮,该按钮以模态方式连接到第二个表视图控制器,该控制器嵌入在导航控制器中:
MainView -> 导航控制器 -> 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://stackoverflow.com/a/12468689/1685971 https://stackoverflow.com/a/12468689/1685971)
Also, in Storyboard everything looks fine. Running the app in simulator or on the device it looks different:
尝试这个“黑客”:
您必须将导航栏添加到第一个视图控制器。那么你有两种可能性。
1)设置导航栏的alpha值为0
or
2)将条形的 y 位置设置为 -43px(看这里:http://moduscreate.com/tinting-your-status-bar-in-ios6-and-phonegap/ http://moduscreate.com/tinting-your-status-bar-in-ios6-and-phonegap/)
EDIT:
要获得正确的颜色,您必须设置不可见的 UINavigationBar 的tintColor。所以默认将其设置为黑色。在按钮操作中,您必须将tintColor设置为navigationController.navigationBar.tintColor。在执行关闭按钮时,您需要将其设置回 [UIColor blackColor]。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)