我有一个UICollectionView,它的宽度是它的父视图的百分比。当它旋转时,我需要知道它的大小,这样我就可以使布局无效,并重新绘制集合视图单元格,使其成为新的全宽度。我使用viewWillTransitionToSize:withTransitionCoordinator:方法,但它返回的大小是整个屏幕。是否有任何简单的方法来获得一个UICollectionView的新框架之前的方向改变生效?
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
}
}