iOS 7状态栏与视图重叠。文本显示在屏幕的标题中。我想在屏幕上显示名为“Carrier,4:49和Battery”的标题中的文字
如何在iOS 6和iOS 7中处理此问题?
答案 0 :(得分:1)
你可以隐藏它,我想在你的情况下看起来会更好。
在你的app plist中添加
查看基于控制器的状态栏外观,并设置为NO
答案 1 :(得分:1)
我认为它可以帮到你:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
答案 2 :(得分:1)
答案 3 :(得分:0)
不幸的是,你不是唯一有这个问题的人, 虽然在iOS之前的7点,{0,0}点位于状态栏下方,它现在位于屏幕顶部,我的建议是在iOS 7中为每个y坐标添加+ 20.0f
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)
}
答案 4 :(得分:0)
它不是iOS 7的问题。因为状态栏在iOS7中是透明的。所以你需要手动处理它。所以请在这里使用正确的图像。
答案 5 :(得分:0)