如何在旋转前获得UICollectionView单元格的大小



我有一个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
           }

    }

最新更新