Search code examples
iosuitableviewios6uicollectionview

How to get the rect of a UICollectionViewCell?


UITableView has the method rectForRowAtIndexPath:, but this does not exist in UICollectionView. I'm looking for a nice clean way to grab a cell's bounding rectangle, perhaps one that I could add as a category on UICollectionView.


Solution

  • The best way I've found to do this is the following:

    Objective-C

    UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:indexPath];
    

    Swift

    let attributes = collectionView.layoutAttributesForItem(at: indexPath)
    

    Then you can access the location through either attributes.frame or attributes.center