【问题标题】:iOS 7 Cannot See Status bar (Signal , Time, Battery) When I Fixed Navigation Bar overlap TableView当我修复导航栏重叠 TableView 时,iOS 7 看不到状态栏(信号、时间、电池)
【发布时间】:2014-04-05 11:04:11
【问题描述】:

我修复了 iOS 7 的问题,导航栏是重叠表视图。

我使用此代码

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

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

【问题讨论】:

  • 你隐藏状态栏了吗?

标签: ios uitableview ios7 uinavigationcontroller


【解决方案1】:

实际上您的状态栏是可见的,但您的状态栏文本颜色是黑色的,因此您无法正常看到。如果你只是从你的 mac 屏幕上方看到,你可以看到这个。

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

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

但是仅仅设置这行代码是不够的。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

您需要更改为 plist 之类的

  • 添加一行并将UIViewControllerBasedStatusBarAppearance 设置为NO。像下面这样

现在运行你的项目,你的导航和状态栏看起来像:-

【讨论】:

    【解决方案2】:

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

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    希望这会对你有所帮助。

    【讨论】:

      【解决方案3】:

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

      在你的所有控制器中重写下面的方法来决定你的那个视图是否需要状态栏。

        -(BOOL)prefersStatusBarHidden
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-03
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 2023-04-09
        • 1970-01-01
        相关资源
        最近更新 更多