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

iPhone X - safe area layout guides - I want my app display on full screen, not only in the safe area

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

是的,我尝试将 on/off 视图的 "Use Safe Area Layout Guide" 选项。我也尝试使用 topLayoutGuide 和 bottomLayout guide 并将主视图约束到它们,但它仍然失败:

- (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) 查看

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

3) 结果(模拟器/真机):

我也做过 RTFM,但是 a) 我很笨,b) 我太累了,c) 两者都

任何帮助将不胜感激:)

如果对视图使用约束,它通常会自动对齐到安全区域。您可以通过单击右侧的小箭头来覆盖它并将其限制在超级视图中以获取下拉菜单:

然后你 select "View" 而不是 "Safe Area"。还要确保取消单击 "Constrain to margins",否则它仍然不会填满整个屏幕。

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

第二个问题(不加载图像,显示一些默认启动画面 insead)- 从设备中删除应用程序并从头开始安装有帮助。

感谢所有参与的人:)