1

iOS 7 状态栏与视图重叠。文本显示在屏幕的标题中。我想在名为“Carrier、4:49 和 Battery”的标题中显示没有文本的屏幕

如何在 iOS 6 和 iOS 7 中处理这个问题? 在此处输入图像描述

4

5 回答 5

1

我认为它可以帮助你:

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
    self.edgesForExtendedLayout = UIRectEdgeNone;
}
于 2013-09-19T15:28:06.550 回答
1

你可以隐藏它,我认为在你的情况下看起来会更好。

在您的应用程序列表中添加此

查看基于控制器的状态栏外观,并设置为 NO

于 2013-09-13T12:30:43.427 回答
0

不幸的是,您不是唯一遇到此问题的人,而在 7 之前的 iOS 上,{0, 0} 点位于状态栏下方,现在位于屏幕顶部,我的建议是在每个 y 坐标上添加 +20.0f如果在 iOS 7 中

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
   // normal comportment
} else {
   // add 20.0f offset
   // you might also want to add a UIImageView subview to go behind the status bar (20pt of height, full width)
}

您可以在视图 didLoad 中执行此操作,就我而言,我计算了在视图控制器的 +(void)initialize 类方法中初始化的静态变量中的元素位置

如果在 -(void)viewDidLoad 类似

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
   // normal comportment
} else {

   for (UIView *v in self.view.subviews) {
     CGRect oldFrame = v.frame;
     v.frame = CGRectMake(oldFrame.origin.x, oldFrame.origin.y + 20.0f, oldFrame.size.width, oldFrame.size.height);
   }

   // you might also want to add a UIImageView subview to go behind the status bar (20pt of height, full width)
}
于 2013-09-13T11:28:32.253 回答
0

它不是 iOS 7 的问题。因为在 iOS7 中状态栏是透明的。所以你需要手动处理。所以请在这里使用正确的图像。

于 2013-09-13T11:28:48.553 回答
0

这可能会帮助您如何修复 iOS 7 状态栏重叠问题和状态栏样式

这对我有用。

于 2013-11-06T10:43:06.737 回答