viewWillTransitionToSize:vs willTransitionToTraitCollection:

时间:2015-10-27 20:19:04

标签: ios uiviewcontroller rotation uikit

有谁可以解释这两种方法之间的差异? The docs for UIViewController明确声明viewWillTransitionToSize应该用于管理轮换,但是点击UIContentContainer page willTransitionToTraitCollection 方法会让人感到困惑。

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

1 个答案:

答案 0 :(得分:17)

每当您想要对用户旋转设备做出回应时,您应该使用viewWillTransitionToSize,如果您这样做,您确定您的操作已执行,因为每次您的应用都会调用此操作; s窗口改变大小。

如果您只想在特征集合更改时执行操作,例如,如果您为collectionViewLayout大小类设置了某个Compact,而为Regular设置了另一个willTransitionToTraitCollection你使用traitCollection

如果特征集合发生变化,那么大小也会发生变化。但它并没有相反的方式。纵向iPad和风景iPad具有相同的特征,但尺寸不同。在混合中添加多任务处理,您可以使用各种尺寸来映射到两个{{1}}尺寸类别。