2

I have noticed a few problems with the status bar when upgrading my apps to iOS 7 as the base SDK. Basically, the Navigation Bar in my Tab Bar Controller seems to be far too close to the status bar. Any ways to remedy this and make it look better?enter image description here

4

3 回答 3

1

在 veiwDidLoad 方法中添加以下代码:

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {

    self.edgesForExtendedLayout = UIRectEdgeNone;

}
于 2013-10-22T14:41:39.777 回答
1

检查下面的代码。

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
 {
    [self setEdgesForExtendedLayout:UIRectEdgeLeft | UIRectEdgeRight];
 }
于 2013-10-30T11:50:11.580 回答
0

我自己遇到了这个问题,有两种选择:

  1. 在您的 UTabBarController 和 UIViewController 之间添加一个 UINavigationController。即使您不打算推送视图控制器,这也是最好的方法,作为奖励,以后添加此功能更容易。它将在所有 iOS 版本上得到原生支持,无需任何额外代码。

  2. 在 Interfaceb builder 中,将 UINavigationBar 放在状态栏下方。要使用 AutoLayout 执行此操作,请将导航栏的固定垂直空间“0”添加到“顶部布局指南”,并在 veiwDidLoad 方法中添加以下代码:

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }
    

希望这可以帮助

于 2013-11-04T21:24:06.697 回答