viewWillTransitionToSize:与 willTransitionToTraitCollection:

viewWillTransitionToSize: vs willTransitionToTraitCollection:

谁能解释一下这两种方法的区别? The docs for UIViewController explicitly state that viewWillTransitionToSize should be used for managing rotations, but clicking through to the UIContentContainer pagewillTransitionToTraitCollection 方法入口混乱。

我想我理解大小 class 更改(特征集合更改)和大小更改之间的概念差异,但我不确定在哪种情况下实施哪种方法。来自 UIKit 向导的说明会很有帮助!

每当你想做某事来响应用户旋转他们的设备时,你应该使用 viewWillTransitionToSize,如果你这样做,你肯定知道你的操作会被执行,因为每次你的应用程序都会调用它window 更改大小。

如果您只想在特征集合更改时采取行动,例如,如果您将某个 collectionViewLayout 设置为 Compact 大小 class 而另一个您想使用对于 Regular,您使用 willTransitionToTraitCollection

如果特征集合发生变化,那么大小也会发生变化。但反之则不然。肖像 iPad 和风景 iPad 具有相同的特征,但大小不同。将多任务处理添加到混合中,您将拥有各种各样的尺寸,这些尺寸可以映射到两个 traitCollection 尺寸 classes.