UICollectionView 方向改变事故?
Posted
技术标签:
【中文标题】UICollectionView 方向改变事故?【英文标题】:UICollectionView orientation change mishap? 【发布时间】:2015-08-19 09:01:59 【问题描述】:当我的收藏视图位于底部并且我将其从纵向更改为横向时,单元格会从视图中消失,直到我必须将它们向下拖动,如下所示:
常规纵向视图:
在旋转到横向时查看:
从视图顶部拖动单元格:
我该如何解决这个问题?
【问题讨论】:
你需要正确设置框架。 究竟是哪一帧? @AnkitKargathra 【参考方案1】:-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
self.collectionViewObj.frame = CGRectMake(0, 0, 568, 320);
else
self.collectionViewObj.frame = CGRectMake(0, 0, 320, 568);
【讨论】:
在实现该方法并运行应用程序后,初始纵向视图与预期一致,即使在旋转为横向后也解决了该问题。但是,当我旋转回纵向时,整个视图会失真,并且在调试器中出现以下错误:Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
以上是关于UICollectionView 方向改变事故?的主要内容,如果未能解决你的问题,请参考以下文章
设备方向更改时如何更改 UiCollectionView 单元格大小?