iPhone X-安全区域布局指南-我希望我的应用以全屏显示,而不仅是在安全区域

时间:2019-02-24 23:33:31

标签: ios objective-c safearealayoutguide

我的代码有问题。我的应用程序显示在iOS安全区域布局指南中,但是我想强制其显示为“外部”。我已经搜索了互联网,但不幸的是,我仅发现“反向”问题。我不使用界面生成器,而是以编程方式创建的所有视图。我有一个主视图控制器,它随应用程序自动启动,从这里开始创建我的所有东西。我的界面生成器仅显示此视图控制器和分配给它的视图。有趣的是,在IB中查看时,该视图似乎是全屏的。

是的,我尝试打开/关闭该视图的“使用安全区域布局指南”选项。我也尝试改用topLayoutGuide和bottomLayout指南并将主视图约束到它们,但是仍然失败:

- (void)viewDidLoad {
     [super viewDidLoad];
     UILayoutGuide *margins = self.view.safeAreaLayoutGuide;
     [NSLayoutConstraint activateConstraints:@[[self.view.topAnchor constraintEqualToAnchor:self.topLayoutGuide.topAnchor],
                                          [self.view.bottomAnchor constraintEqualToAnchor:self.bottomLayoutGuide.bottomAnchor]
                                          ]];

     //...
}

这是我在IB中看到的:

1)视图

enter image description here

2)安全区域-我无法以任何方式摆脱它:

enter image description here

3)结果(模拟器/真实设备):

enter image description here

我也做过RTFM,但a)我很愚蠢,b)我太累了,c)两者

任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:0)

如果在视图上使用约束,通常它将自动与安全区域对齐。您可以覆盖它并将其约束到超级视图,而不是单击右侧的小箭头以查看下拉菜单:

enter image description here

然后选择“查看”而不是“安全区域”。另外,请确保取消点击“约束到边距”,否则它仍然无法填满整个屏幕。

答案 1 :(得分:0)

我解决了我的问题。该应用程序未全屏显示,因为我的iPhone XR资产缺少启动图像。因此,iOS恢复到了最接近的启动图像保持宽高比,从而定义了应用程序大小。

第二个问题(不加载图像,显示一些默认的初始屏幕)-从设备中删除应用程序并从头开始安装。

感谢所有参与的人:)