From 56d6dc241022631c2a48d7e7a9dbd256d7288602 Mon Sep 17 00:00:00 2001 From: Nick Podratz Date: Wed, 25 Jan 2017 01:07:33 +0100 Subject: [PATCH] Add read-only `itemWidthForSection` cache This is intended to help users calculate cell-sizes based on the cell's width. --- CollectionViewWaterfallLayout.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CollectionViewWaterfallLayout.swift b/CollectionViewWaterfallLayout.swift index d95cdf5..43fdd51 100644 --- a/CollectionViewWaterfallLayout.swift +++ b/CollectionViewWaterfallLayout.swift @@ -97,7 +97,9 @@ open class CollectionViewWaterfallLayout: UICollectionViewLayout { invalidateIfNotEqual(NSValue(uiEdgeInsets: oldValue), newValue: NSValue(uiEdgeInsets: sectionInset)) } } - + // A dictionary that maps from the CollectionView's section [key] to the item-width of its elements [value]. (read-only) + private(set) open var itemWidthForSection:[Int : Float] = [:] + //MARK: Private Properties fileprivate weak var delegate: CollectionViewWaterfallLayoutDelegate? { get { @@ -141,6 +143,7 @@ open class CollectionViewWaterfallLayout: UICollectionViewLayout { var top:Float = 0 var attributes: UICollectionViewLayoutAttributes + itemWidthForSection.removeAll() for section in 0..