An easy to use, highly customizable replacement for NSCollectionView.
Prior to macOS 10.11, NSCollectionView had little in common with its younger cousin on iOS (UICollectionView). Since then it has recieved some improvements but with no support on 10.10, we needed another solution.
CollectionView provides a ton of functionality, flexibility, and high performance. Some of its features include:
- Highly customizable out of the box
- Custom layouts for even more customizations
- Content editing inluding animations (insert, delete, & move)
- Section headers and footers
- Drag and drop
- Photos-like preview transitions
- ResultsController for consistent data sourcing (including CoreData implementations)
If you aren't supporting macOS 10.10, NSCollectionView can likely satisfy your needs. That said, CollectionView does provide some additional flexibility and features that may still make it a viable option for your project.
Get collection view up and running in just a few minutes. Checkout the guides & documentation.
Adding to your project
CollectionView isn't currently provided through any package managers.
Clone or donwload the repo and add it to your project by dragging the CollectionView Xcode project to your project.
CollectionView is used to power:
Let us know if you use it too.
Feel free to create an Issue for bugs, questions, or feature requests.
Or, reach out on twitter: @NounProjectDev
- Add some common use cell subclasses
- Improve performance (it's good, but could always be better 😁)
- Some sort of layout context to avoid full reloads
This project is released under the MIT license.
You may find interesting
Reloading sections, open proxy, and context observer (SwiftLint) - 2018-08-13 19:15:57
This release fixes a few bugs with reload items and adds a method to reload entire sections.
The CollectionViewProxy internals have also been exposed to allow for custom use to update a collection view. This lands well with the new ContextObserver class which can be used to observe changes in a managed object context and handle them as needed.
Preview, Performance & Tests - 2018-07-24 00:45:46
- Preview controller now dismisses with a pinch gesture
- All new internals for column and list layouts are up to 95% faster
- Flow layout also includes some performance improvements
- Tests for provided layouts
- Updated example app now includes a column view to demo column layout
Collapsable Sections - 2018-04-24 21:39:10
CollectionViewProvider now manages state and updates for collapsable sections.
2.0 - 2018-03-14 23:06:24
An all new results controller brings improved performance and accuracy. The collection view manipulation logic has also been rewritten, fixing a few bugs and improving performance.