Swiftpack.co - Package - TheNounProject/CollectionView

CollectionView

Build Status

An easy to use, highly customizable replacement for NSCollectionView.


Why

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.

How

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.

Examples

CollectionView is used to power:

Let us know if you use it too.

Contributing

Feel free to create an Issue for bugs, questions, or feature requests.

Or, reach out on twitter: @NounProjectDev

To do

  • 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

Credits

Licence

This project is released under the MIT license.

Github

link
Stars: 53
Help us keep the lights on

Dependencies

Used By

Total: 0

Releases

2.3 - Aug 13, 2018

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.

2.2 - Jul 24, 2018

  • 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

2.1 - Apr 24, 2018

CollectionViewProvider now manages state and updates for collapsable sections.

2.0 - Mar 14, 2018

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.

1.1 - Feb 27, 2018