您知道为什么即使没有更改大小类也会调用traitCollectionDidChange
。
选择UILabel,我在故事板的属性检查器/已安装检查UILabel。没有根据尺寸等级安装的特殊情况。
因此我不明白为什么在旋转设备时会调用traitCollectionDidChange
?
是的,它在viewDidLod之后调用,但每次我旋转设备/模拟器时都会调用。
如果我想对轮换作出反应,我会使用viewWillTransitionToSize
。
更新:嗯,重新思考一下。我想当你旋转iPhone时,Size Class实际上也在变化。
您是否可以将traitCollectionDidChange视为viewWillTransitionToSize的专用方法 - 有助于告知我们何时跨越大小类边界?
答案 0 :(得分:1)
如果您旋转iPhone,尺寸等级会改变,但如果您旋转iPad(水平和垂直都有常规尺寸等级),尺寸等级将不会改变。
旋转被认为是界面环境的变化,因此调用traitCollectionDidChange
。