【问题标题】:iPhone X - safe area layout guides - I want my app display on full screen, not only in the safe areaiPhone X - 安全区域布局指南 - 我希望我的应用全屏显示,而不仅仅是在安全区域
【发布时间】:2019-02-24 23:33:30
【问题描述】:

我的代码有问题。我的应用程序显示在 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) 两者都有

任何帮助将不胜感激:)

【问题讨论】:

  • 你使用约束吗?
  • 基本上我在任何地方都使用自动布局,但我没有任何代码对此视图设置任何约束,所以我相信这是由 iOS 本身以某种方式安排的。
  • 好的,我想我找到了问题所在。我创建了一个新项目,一切正常。我开始检查项目设置等方面的差异,发现新的没有使用Launchimage,但我的应用程序使用了。所以我尝试从我的应用程序中删除启动图像并开始工作。从那里我开始检查发生了什么,最后我发现我的应用程序缺少 iPhone X 的 Launchimage 资源。我添加了一个指定大小的资源,现在它工作正常,不需要额外的更改。如果没有正确的启动图像,iOS 似乎会自动回退到更小的屏幕。

标签: ios objective-c safearealayoutguide


【解决方案1】:

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

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

【讨论】:

  • 但在屏幕截图中,检查的是安全区域。另外,你没有告诉他取消选中“限制到边距”(实际上在你的屏幕截图中它仍然被选中),所以这并不能解决他的问题。
  • @matt 是的,刚刚意识到这一点。现在修复它。
  • 谢谢大家,但正如我在评论中提到的,我发现了问题 - 这是由于缺少 iPhone XR 的 LaunchImage 资产造成的。现在我遇到了另一个问题,我将大小合适的图像添加到了所有启动图像所在的资产中,并且应用程序全屏显示。问题是未显示启动图像 - 相反,我可以看到一些带有三个白点的默认启动图像。我重新创建了资产,但仍然是同样的问题......
  • @matt 你可能比我更擅长处理这个新问题^
【解决方案2】:

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

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

感谢所有参与的人:)

【讨论】:

    猜你喜欢
    • 2018-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2018-08-23
    相关资源
    最近更新 更多