XCode 自动布局在 'View as' 中未选择的设备上无法正常工作

XCode autolayout not working properly on devices other than selected in 'View as'

我遇到了 XCode 9 Interface Builder 的问题。

当我尝试在硬件设备上测试我的应用程序时 (iPhone 6s) 并且我设置了 "View as: iPhone 8" 一切都很顺利(屏幕截图 #1下面),但是当我将设备更改为 iPhone 5 时,看起来 XCode 向我的 phone 传递了错误的坐标(下面的屏幕截图 #2)。

它只发生在我最大的项目中,我完全不知道为什么。 Autolayout 设置正确,没有 "bad constraint" 甚至警告。

哪位好心人可以回答我 - 为什么会发生这种情况,如何解决?它可能是 XCode 中的某个选项吗?

截图:

您需要检查自动布局约束和代码以匹配不同的屏幕尺寸。例如,上圆的圆角半径是恒定的,应该根据包含视图的宽度而变化,等等。

viewWillAppear() 中调用您的 setTheme() 函数代码没有正确的高度,无法将标签设置在正确的位置。视图仍未加载,因此帧错误