我遇到了一个非常奇怪,令人沮丧的问题。当我的视图最初以纵向方式加载时,安全区域布局指南是预期的大小。但是,在旋转到横向然后返回到纵向后,它们与初始加载不同。这会丢掉iPhone X上的所有子视图。
我在viewWillLayoutSubviews()
print("View Size: \(view.frame.size)")
print("View Layout Size: \(view.safeAreaLayoutGuide.layoutFrame.size)")
运行应用程序并执行方向更改时,输出为:
在改变方向之前:
View Size: (375.0, 812.0)
View Layout Size: (375.0, 734.0)
风景:
View Size: (812.0, 375.0)
View Layout Size: (724.0, 354.0)
回到肖像:
View Size: (375.0, 812.0)
View Layout Size: (383.0, 734.0)
如您所见,视图大小没有变化。但是,布局指南大小 8px 更宽。
非常感谢任何帮助。