我有一个UICollectionView,其宽度是其父级的百分比。当它旋转时我需要知道它的大小,所以我可以使布局无效并将集合视图单元重绘为新的全宽。我使用的是viewWillTransitionToSize:withTransitionCoordinator:方法,但它返回的大小是整个屏幕的大小。在方向更改生效之前,有没有简单的方法来获取UICollectionView的新帧?
答案 0 :(得分:0)
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
}
}