2014-11-04 149 views
0

我有一个UIViewController子类,当我在iOS 7上运行应用程序时,状态栏显示在我的视图之上。有没有办法避免这种情况?我不希望状态栏被隐藏。有没有办法显示我的应用程序上方的状态栏。我用presentViewController提出我的观点。请指导我缺少的东西?状态栏与我的视图重叠

+0

试试这个http://stackoverflow.com/questions/25781169/how-to-fix-status-bar-overlap-issue-in-ios-7/25884064#25884064 – 2014-11-04 09:24:53

+0

可能重复的[状态栏和导航酒吧出现在我的视图的界限在iOS 7](http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bounds-in-ios-7) – 2014-11-04 09:36:02

+0

我使用下面的代码来降低我的视图20 px down..it可以很好地处理纵向,但对于landscapeif失败([[[UIDevice currentDevice] systemVersion] floatValue]> = 7){self.view.frame.origin .y == 0){ CGRect viewBounds = [self.view bounds]; viewBounds.origin.y = 20; viewBounds.size.height = viewBounds.size.height - 20; self.view.frame = viewBounds; } } – 2014-11-04 09:41:31

回答

0

这是很常见的问题。从iOS 7开始状态栏是控制器视图的一部分。 Apple甚至在Interface Builder中添加了UIView的特殊属性:iOS 6/7 Deltas。要解决您的问题并使您的视图在不同的iOS版本中看起来相同,请转至大小检查器并将Delta Y设置为20.0。

+0

无法设置增量,因为我在我的视图上使用自动布局 – 2014-11-04 09:38:37

+0

在这种情况下,您应该添加一个约束并根据iOS版本以编程方式更改其值。 – kelin 2014-11-04 14:00:27

+0

u能告诉我如何设置状态栏上方我认为编程的iOS 7使用自动布局 – 2014-11-05 06:40:21

2

在Xcode中,故事板中有iOS6/7 delta的选项。将增量Y设置为您视图的20像素,以便与iOS7兼容。为此,您必须禁用自动布局,您可以使用自动调整大小。 see the attached image

+0

纵向和横向的方向我想对我的看法自动布局 – 2014-11-04 11:21:01

+0

对不起,我不希望在我看来 – 2014-11-05 06:40:49

+0

自动布局我得到它错过.. – 2014-11-05 06:41:33