想象一下这样的构图 - > 包含以下子视图的根视图的UIViewController: - 标题视图固定在顶部, - 将页脚视图固定在底部, - 将屏幕边界与uiimageview匹配的scrollview作为内容,其中图像视图的图像是横向图像,并且图像视图大小是适合滚动视图的方面,zommscale是1。 如果我旋转此控制器,由于正确的布局(无论手动或自动布局无关紧要),生成的动画到新的横向屏幕边界是完美的。
如果我多次将此控制器作为UIPageViewController的成员(有效创建图库),任何特定页面的旋转(包含上面的控制器)也是完美的。
在上述两种情况下,没有一个图层消失,调整大小的动画很好地符合布局规则。作为一个整体的动画完全有道理。
现在让我们创建一个具有水平流布局的Collection控制器。零插入,零间距大小,以及与一个屏幕匹配的单元大小。我们最终得到了横向画廊吗?
那么,为什么当我旋转设备时,最终的动画构图是如此混乱? 我放慢了动画的速度,我看到的是邻近控制器的视图暂时"泄漏在" 中央图像视图变形,同时动画并最终被抛弃,最后它平静下来,一个新的!单元格内容以适当的布局显示,可以合成横向设备方向。就像那些观点不确定他们想要什么,并且表现得像醉酒一样。
为什么集合视图不能以这样的方式旋转,即只有单元格会在动画协调器旁边调整大小并牢牢地保持它在屏幕中心的中心位置?
如何强制收集视图以与根视图相同的方式调整当前和唯一可见单元格的大小?