【问题标题】:Status Bar Issue on iOS 7iOS 7 上的状态栏问题
【发布时间】:2013-10-22 14:35:21
【问题描述】:

在将我的应用程序升级到 iOS 7 作为基础 SDK 时,我注意到状态栏存在一些问题。基本上,我的标签栏控制器中的导航栏似乎离状态栏太近了。有什么办法可以解决这个问题并让它看起来更好吗?

【问题讨论】:

    标签: ios7 uitabbarcontroller uinavigationbar uistatusbar


    【解决方案1】:

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

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

    【讨论】:

    • 这没什么区别。
    【解决方案2】:

    检查下面的代码。

    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
     {
        [self setEdgesForExtendedLayout:UIRectEdgeLeft | UIRectEdgeRight];
     }
    

    【讨论】:

      【解决方案3】:

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

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

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

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

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 2011-11-24
        • 2015-01-22
        • 2014-08-05
        相关资源
        最近更新 更多