chiahsien/CHTCollectionViewWaterfallLayout

Cannot inherit from non-open class 'CHTCollectionViewWaterfallLayout' outside of its defining module

bizibizi opened this issue · 3 comments

Cannot inherit from non-open class 'CHTCollectionViewWaterfallLayout' outside of its defining module

Just changing access modifier from public to open would resolve the warning, but I'm not sure if that's the right thing to do. The current API design, in my point of view, is not suitable for subclassing; many implementations are kept private while several point of interest does not offer customization for subclasses.

So what's the problem you are trying to solve by inheriting from CHTCollectionViewWaterfallLayout?

Take a look at the project included in the Demo folder and see if you can implement this without subclassing the layout class?

let layout = CHTCollectionViewWaterfallLayout()
// Change individual layout attributes for the spacing between cells
layout.minimumColumnSpacing = 1.0
layout.minimumInteritemSpacing = 1.0
// Collection view attributes
collectionView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
collectionView.alwaysBounceVertical = true
// Add the waterfall layout to your collection view
collectionView.collectionViewLayout = layout