---
title: Collection View
framework: appkit
role: collectionGroup
role_heading: API Collection
path: appkit/collection-view
---

# Collection View

Display one or more subviews in a highly configurable arrangement.

## Topics

### View

- [NSCollectionView](appkit/nscollectionview.md)
- [NSCollectionViewSectionHeaderView](appkit/nscollectionviewsectionheaderview.md)

### Components

- [NSCollectionLayoutItem](appkit/nscollectionlayoutitem.md)
- [NSCollectionLayoutGroup](appkit/nscollectionlayoutgroup.md)
- [NSCollectionLayoutSection](appkit/nscollectionlayoutsection.md)

### Size and spacing

- [NSCollectionLayoutDimension](appkit/nscollectionlayoutdimension.md)
- [NSCollectionLayoutSize](appkit/nscollectionlayoutsize.md)
- [NSCollectionLayoutSpacing](appkit/nscollectionlayoutspacing.md)
- [NSCollectionLayoutEdgeSpacing](appkit/nscollectionlayoutedgespacing.md)
- [NSCollectionLayoutContainer](appkit/nscollectionlayoutcontainer.md)

### Data

- [NSCollectionViewDataSource](appkit/nscollectionviewdatasource.md)
- [NSCollectionViewDelegate](appkit/nscollectionviewdelegate.md)
- [NSCollectionViewDiffableDataSource](appkit/nscollectionviewdiffabledatasource-axww.md)
- [NSDiffableDataSourceSnapshot](appkit/nsdiffabledatasourcesnapshot-swift.struct.md)

### Items

- [NSCollectionViewItem](appkit/nscollectionviewitem.md)
- [NSCollectionViewElement](appkit/nscollectionviewelement.md)

### Layouts

- [Implementing modern collection views](uikit/implementing-modern-collection-views.md)
- [NSCollectionViewFlowLayout](appkit/nscollectionviewflowlayout.md)
- [NSCollectionViewDelegateFlowLayout](appkit/nscollectionviewdelegateflowlayout.md)
- [NSCollectionViewGridLayout](appkit/nscollectionviewgridlayout.md)
- [NSCollectionViewTransitionLayout](appkit/nscollectionviewtransitionlayout.md)
- [NSCollectionViewLayoutAttributes](appkit/nscollectionviewlayoutattributes.md)
- [NSCollectionViewLayout](appkit/nscollectionviewlayout.md)
- [NSCollectionViewCompositionalLayout](appkit/nscollectionviewcompositionallayout.md)
- [NSCollectionViewCompositionalLayoutConfiguration](appkit/nscollectionviewcompositionallayoutconfiguration.md)
- [NSCollectionViewCompositionalLayoutSectionProvider](appkit/nscollectionviewcompositionallayoutsectionprovider.md)
- [NSCollectionLayoutSectionOrthogonalScrollingBehavior](appkit/nscollectionlayoutsectionorthogonalscrollingbehavior.md)

### Appearance

- [NSCollectionLayoutBoundarySupplementaryItem](appkit/nscollectionlayoutboundarysupplementaryitem.md)
- [NSCollectionLayoutSupplementaryItem](appkit/nscollectionlayoutsupplementaryitem.md)
- [NSCollectionLayoutDecorationItem](appkit/nscollectionlayoutdecorationitem.md)
- [NSCollectionLayoutAnchor](appkit/nscollectionlayoutanchor.md)

### Advanced layouts

- [NSCollectionLayoutGroupCustomItem](appkit/nscollectionlayoutgroupcustomitem.md)
- [NSCollectionLayoutGroupCustomItemProvider](appkit/nscollectionlayoutgroupcustomitemprovider.md)

### Layout updates

- [NSCollectionLayoutVisibleItem](appkit/nscollectionlayoutvisibleitem.md)
- [NSCollectionLayoutSectionVisibleItemsInvalidationHandler](appkit/nscollectionlayoutsectionvisibleitemsinvalidationhandler.md)

### Configuration

- [NSCollectionLayoutEnvironment](appkit/nscollectionlayoutenvironment.md)

### Updates

- [NSCollectionViewUpdateItem](appkit/nscollectionviewupdateitem.md)
- [NSCollectionViewLayoutInvalidationContext](appkit/nscollectionviewlayoutinvalidationcontext.md)
- [NSCollectionViewFlowLayoutInvalidationContext](appkit/nscollectionviewflowlayoutinvalidationcontext.md)

## See Also

### Content views

- [Browser View](appkit/browser-view.md)
- [Outline View](appkit/outline-view.md)
- [Table View](appkit/table-view.md)
- [NSTextView](appkit/nstextview.md)
