IOS7无法看到状态栏(信号,时间,电池)当我固定导航栏重叠TableView时

时间:2014-03-04 04:35:13

标签: ios uitableview ios7 uinavigationcontroller

我修复了问题iOS7,导航栏是重叠表视图。 我使用此代码

//for help navigation bar overlap
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;

我可以解决这个问题,但导航栏重叠状态栏不显示信号电池时间相同这张图片

http://i.stack.imgur.com/pIYDT.png

3 个答案:

答案 0 :(得分:1)

在你的AppDelegate的didFinishLaunchingWithOption方法中添加这行代码 -

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

愿这对你有所帮助。

答案 1 :(得分:1)

实际上您的状态栏是可见的,但您的状态栏文字颜色是黑色,因此您无法正常查看。如果您只是从Mac屏幕的上方看到,您可以看到这一点。

因此,按照smita的回答是最新的,但在 plist 更改后,您需要将statusBar样式更改为UIStatusBarStyleLightContent,并将状态栏文本颜色更改为黑色到白色。

enter image description here

进入已显示该时钟时间信号或电池状态的图像。黑色和你的导航栏色调颜色已经是黑色,所以两者都匹配。这就是你无法看到的原因。

但是只设置这行代码还不够。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

您需要更改为plist,如

  • 添加一行,UIViewControllerBasedStatusBarAppearance设置为。喜欢吼叫

enter image description here

现在运行您的导航和状态栏的项目如下: -

enter image description here

答案 2 :(得分:0)

在IOS7中,如果您需要状态栏,具体取决于视图控制器,您可以将info-plist中的“基于控制器的状态栏外观视图”设置为“是”。

在所有控制器中覆盖以下方法,以确定您的视图是否需要状态栏。

  -(BOOL)prefersStatusBarHidden