首页 > 解决方案 > iPhone X - 安全区域布局指南 - 我希望我的应用全屏显示,而不仅仅是在安全区域

问题描述

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

是的,我尝试打开/关闭视图的“使用安全区域布局指南”选项。我也尝试改用 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) 两者都有

任何帮助,将不胜感激 :)

标签: iosobjective-csafearealayoutguide

解决方案


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

在此处输入图像描述

然后选择“查看”而不是“安全区域”。还要确保取消单击“限制到边距”,否则它仍然不会填满整个屏幕。


推荐阅读