如何在旋转之前获取UICollectionView单元的大小

时间:2015-07-08 00:34:47

标签: ios uicollectionview uicollectionviewcell orientation-changes

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

1 个答案:

答案 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
           }


    }