我开始在一个大项目中使用AutoLayout,并对其感到非常满意。但现在我必须调整项目以适应旋转和大小类,我发现让视图正确运作很困难。根本问题是我有包含UICollectionView的单元格的UICollectionViews。当设备旋转时,基本集合视图会自适应其单元格,但嵌套集合视图的所有单元格不会自动调整到新的大小。
经过调查,我发现:
- 当调用viewWillTransitionToSize时,基本集合视图尚未旋转(按预期)。 - 在此之后,将调用viewDidLayoutSubviews,基本集合视图现在具有旋转大小,但遗憾的是它的单元格还没有——它们仍然具有旋转之前的宽度。 - 即使在viewWillTransitionToSize中的协调器animateAlongsideTransition...completion:{}块中,单元格仍然没有新的宽度。
上述情况意味着我无法告诉嵌套集合视图的单元格更改其大小,因为我还不知道宽度的新值;而且自动布局系统不会自动调整它们。
是否有其他人遇到了相同的问题或者知道解决方案?
经过调查,我发现:
- 当调用viewWillTransitionToSize时,基本集合视图尚未旋转(按预期)。 - 在此之后,将调用viewDidLayoutSubviews,基本集合视图现在具有旋转大小,但遗憾的是它的单元格还没有——它们仍然具有旋转之前的宽度。 - 即使在viewWillTransitionToSize中的协调器animateAlongsideTransition...completion:{}块中,单元格仍然没有新的宽度。
上述情况意味着我无法告诉嵌套集合视图的单元格更改其大小,因为我还不知道宽度的新值;而且自动布局系统不会自动调整它们。
是否有其他人遇到了相同的问题或者知道解决方案?