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.
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:
- Demo app (in this repo)
- Lingo for macOS
- Noun Project for macOS
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
- DeepDiff for some diffing logic used in ResultsController
- JNWCollectionView for early inspiration
This project is released under the MIT license.