方向更改后安全区域大小更改

Mar*_*ell 6 orientation ios autolayout swift

我遇到了一个非常奇怪,令人沮丧的问题。最初以纵向加载我的视图时,安全区域布局指南为预期大小。但是,旋转到横向然后返回到纵向后,它们与初始负载不同。这抛弃了iPhone X上的所有子视图。

我添加了打印语句 viewWillLayoutSubviews()

print("View Size: \(view.frame.size)")
print("View Layout Size: \(view.safeAreaLayoutGuide.layoutFrame.size)")
Run Code Online (Sandbox Code Playgroud)

运行应用程序并执行方向更改时,输出为:

更改方向之前:

View Size: (375.0, 812.0)
View Layout Size: (375.0, 734.0)
Run Code Online (Sandbox Code Playgroud)

景观:

View Size: (812.0, 375.0)
View Layout Size: (724.0, 354.0)
Run Code Online (Sandbox Code Playgroud)

返回肖像:

View Size: (375.0, 812.0)
View Layout Size: (383.0, 734.0)
Run Code Online (Sandbox Code Playgroud)

如您所见,视图大小没有变化。但是,布局指南的尺寸要宽8 像素

任何帮助将不胜感激。