如何在旋转前获取 UICollectionView 单元格的大小
Posted
技术标签:
【中文标题】如何在旋转前获取 UICollectionView 单元格的大小【英文标题】:How to get the size of a UICollectionView cell before rotation 【发布时间】:2015-07-08 00:34:47 【问题描述】:我有一个 UICollectionView,其宽度是其父级的百分比。当它旋转时,我需要知道它的大小,因此我可以使布局无效并将集合视图单元格重新绘制为新的全宽。我正在使用 viewWillTransitionToSize:withTransitionCoordinator: 方法,但它返回的大小是整个屏幕。在方向更改生效之前,有什么简单的方法可以获取 UICollectionView 的新框架?
【问题讨论】:
【参考方案1】: override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
print(self.collectionView.frame) // old frame
coordinator.animateAlongsideTransition( (UIViewControllerTransitionCoordinatorContext) -> Void in
) (UIViewControllerTransitionCoordinatorContext) -> Void in
print(self.collectionView.frame) // new frame
【讨论】:
以上是关于如何在旋转前获取 UICollectionView 单元格的大小的主要内容,如果未能解决你的问题,请参考以下文章
屏幕旋转后如何在 UICollectionView 中跟踪单元格的移动
旋转后如何调整 UICollectionView contentOffset?
设备旋转时如何自动调整 UICollectionView 的大小?
Swift:如何在设备旋转后刷新UICollectionView布局