在 iPhone X 屏幕底部获得空白(Xcode 9)

Posted

技术标签:

【中文标题】在 iPhone X 屏幕底部获得空白(Xcode 9)【英文标题】:Getting a white space at bottom of iPhone X screen (Xcode 9) 【发布时间】:2017-09-20 12:29:08 【问题描述】:

我在我的项目中使用 Xcode 9,底部有一个空白,这是屏幕截图:

另外我正在使用storyboard来设计4英寸(iphone 5s/SE)作为布局。

如何避免空白?

【问题讨论】:

您需要为我们提供代码和约束来帮助您。我会先看看你的约束,你可能有问题。但随着问题的构建,我只能猜测。 @Harish :您应该按照 *** 指南接受正确答案,以便其他有类似问题的人可以得到帮助! 【参考方案1】:

您的bottom constraints 应该来自view 而不是来自bottom layout guidesafe area(特定于xcode 9)并且您的距离应该为零。

默认它是用layout guides 固定的,所以用view 给它!

请参阅下面的屏幕截图以更好地理解,

要打开此对话框,请单击包含0的字段的下拉图标!

top constraint 也可以这样做!

更新:

第二个重要的事情,

您应该使用故事板作为启动或启动画面。如果您使用的是启动图像,则将其替换为xcode 9 的新启动图像,它可以选择iphone x 的图像。

那你就再也找不到空白了!

参考下面的截图。

【讨论】:

谢谢。工作。 @Lion 这可能会删除空白,但是给出关于布局指南的约束是否正确?现在还有可以用来代替布局指南的安全区域。 我试过了,但没有用。我正在使用最新的 Xcode 9。 在界面设计器上看起来不错,但是当我在模拟器上运行应用程序时,底部仍然有空白。也许在真实设备上会没问题。 这是完美的答案,tnx。【参考方案2】:

这个空白区域是您的主要视图。如果您希望您的图像视图填充整个区域,请将其以 0 空间固定到超级视图,而不是底部布局指南或安全区域。为此,请选择以 iPhone X 方式查看情节提要中的场景,并将图像视图固定如下:

当不在 iPhone X 模式下时,也可以将图像视图的底部固定到超级视图:当您通过 Ctrl 拖动固定时,当出现约束列表时按 Option 键 (alt),您将看到“底部空间到容器边距”。

【讨论】:

是的,但我使用 4" 作为我的布局而不是 iphone x 布局 为什么不能切换到以 iPhone X 的方式查看,将其固定,然后返回 4''? 无论如何,我编辑了我的答案,也可以不在 iPhone X 视图中使用“选项”键。 没问题。如果您没有选择“查看为:iPhone X”,则更难将其固定到超级视图而不是安全区域,所以这是一个小提示:) 如果是正确答案,请标记为正确。【参考方案3】:

以上两个答案都不适合我。仅设置

 scrollView.contentInsetAdjustmentBehavior = .never

我的 scrollView 中有一个 stackView,stackView 中的元素有固定大小,所以我不需要插入调整,这很有效。

归功于How to get rid of safeAreaInsets on UIScrollview (ios 11, iPhoneX)

【讨论】:

【参考方案4】:

对我来说这很有效:

1) 选择要设置约束的图像

2) 转到右侧面板中的属性检查器

3) 选择Scale to FillContent Mode

【讨论】:

以上是关于在 iPhone X 屏幕底部获得空白(Xcode 9)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone X上的额外底部空间/填充?

iPhone X 上 ionic 的屏幕尺寸问题

iPhone模拟器中的白色空白屏幕和加载到iPhone时的黑色空白屏幕

使用 Xamarin.Forms 应用程序填充 iPhone X 屏幕

使用Xamarin.Forms应用程序填充iPhone X屏幕

屏幕底部的按钮:iPhone X 与普通屏幕