self.wantsFullScreenLayout不适用于某些VC

时间:2014-01-09 19:07:57

标签: ios iphone objective-c uistatusbar

我在Xcode 5中开发,问题只发生在iOS 7以下的iOS版本中。我必须保持状态栏可见。我正在使用

self.wantsFullScreenLayout= YES;

但我的观点仍然出现在状态栏下方。

enter image description here

我如何解决此问题,以便状态栏不包含视图?

2 个答案:

答案 0 :(得分:0)

您需要设置UIViewController视图的Delta。

将故事板从公用设施区切换到ios6.1或更高版本(第1项)。

然后选择UIViewController的视图,在实用程序区域的大小检查器菜单中,框架下方会有delta部分。每个三角洲之前都会有三角形。将三角形y更改为64(您应该在故事板的“ios6.1或更高版本”)。

这意味着当在ios7中打开storyboard时,你的UIViewController的视图将自动从64开始。 64是UINavigationbar height + UIStatusbar height。

如果您的UIViewController没有UINavigationBar,那么Delta y = 20,(您应该在故事板的“ios6.1或更高版本”)。

一旦你在一个ios中改变delta,它将自动改变它的反面。

如果您需要关于Deltas的帮助,请访问:Interface Builder: What are the UIView's Layout iOS 6/7 Deltas for?

答案 1 :(得分:0)

您定位的iOS版本是什么?

您希望状态栏或状态栏下的视图完全删除吗?如果你想摆脱状态栏

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; 

您的目标是iOS 7吗?如果是这样,您可以使用它来隐藏状态栏

- (BOOL)prefersStatusBarHidden
{
    return YES;
}