# IGListCollectionView Class Reference

# IGListCollectionView

Objective-C

    @interface IGListCollectionView : UICollectionView

Swift

    class ListCollectionView : UICollectionView

This `UICollectionView` subclass allows for partial layout invalidation using `IGListCollectionViewLayout`, or custom layout classes that conform to IGListCollectionViewLayoutCompatible.

Note

When updating a collection view (ex: calling `-insertSections`), `-invalidateLayoutWithContext` gets called on the layout object. However, the invalidation context doesn’t provide details on which index paths are being modified, which typically forces a full layout re-calculation. `IGListCollectionView` gives `IGListCollectionViewLayout` the missing information to re-calculate only the modified layout attributes.

- `-initWithFrame:listCollectionViewLayout:`

  Create a new view with an `IGListcollectionViewLayout` class or subclass.

  Note

  You can initialize a new view with a base layout by simply calling `-[IGListCollectionView initWithFrame:]`.

  #### Declaration

  Objective-C

      - (nonnull instancetype)
                     initWithFrame:(CGRect)frame
          listCollectionViewLayout:
              (nonnull UICollectionViewLayout<IGListCollectionViewLayoutCompatible> *)
                  collectionViewLayout;

  Swift

      init(frame: CGRect, listCollectionViewLayout collectionViewLayout: any UICollectionViewLayout & IGListCollectionViewLayoutCompatible)

  #### Parameters

  `frame` | The frame to initialize with.
  `collectionViewLayout` | The layout to use with the collection view. You can use IGListCollectionViewLayout here, or a custom layout class that conforms to IGListCollectionViewLayoutCompatible.

© 2024 Instagram. All rights reserved. (Last updated: 2024-05-13)

Generated by jazzy ♪♫ v0.15.0, a Realm project.