在状态栏下没有导航栏的情况下,扩展UIViewController的视图

我的视图没有导航栏,但我想显示状态栏下的内容。 我已经检查了在顶部的酒吧,在我的视图控制器不透明的酒吧下的扩展边缘,我想要显示在状态栏下的视图有0垂直间距约束顶部布局指南,但仍然,这里是我得到:

在这里输入图像说明

状态栏有20px纯白色背景,我不想要。 我希望我的视图在状态栏下重叠,就像下面的模型一样:

在这里输入图像说明

我怎么能做到这一点, 没有一个可见的导航栏(我仍然有它,因为我的视图保证在导航控制器内,但它永远不会被看见,因为我有很多自定义devise的部分,包括顶部酒吧)?

经过几十个小时的调查,我发现了一个答案:

 for (NSLayoutConstraint *constraint in self.view.constraints) { if((constraint.firstItem == self.topLayoutGuide && constraint.secondItem == self.view) || (constraint.secondItem == self.topLayoutGuide && constraint.firstItem == self.view)) { constraint.constant = -20; } } 

对于任何人想知道,我没有使用一个特定的答案,但从这个问题的派生的解决scheme: iOS7 – 在状态栏下查看 – edgesForExtendedLayout不起作用 。

在视图控制器或父视图控制器上,您必须automaticallyAdjustsScrollViewInsets将“调整NO视图集”设置为“ NO 。 以前的答案是有点黑客,因为框架提供了一个属性来控制这种行为。