在正常情况下确定 iPad view.traitCollection.horizontalSizeClass 宽度值?

determine iPad view.traitCollection.horizontalSizeClass width value while in regular?

我正在研究一些布局逻辑,如果应用程序在 iPad 时进入紧凑大小 class 模式,需要知道视图的宽度是多少。因此,假设应用程序在 iPad 上 运行 全屏,而我在视图控制器中,那么 view.traitCollection.horizontalSizeClass 将是 regular。在该模式下,我想计算如果应用程序处于紧凑模式,视图的宽度是多少。

有没有一种方法可以在不先进入紧凑模式的情况下进行计算?

您所寻找的是不可能的,有另一种方法可以实现。我不确定它会满足您的要求。 您可以使用以下回调方法来识别目标大小。当它改变大小而不改变特征集合时,在其他情况下也会调用此方法。

viewWillTransitionToSize:withTransitionCoordinator:

理想情况下,您不应该依赖于尺寸,它会因设备而异,当引入新的屏幕尺寸设备时会引入更多问题。

Apple 文档:https://developer.apple.com/documentation/uikit/uicontentcontainer/1621466-viewwilltransitiontosize