Commit e6e03bef by danieldahan

updating MaterialCollectionViews, progressive commit

parent 27e11c4d
...@@ -107,7 +107,7 @@ extension ViewController: MaterialCollectionViewDataSource { ...@@ -107,7 +107,7 @@ extension ViewController: MaterialCollectionViewDataSource {
return 1 return 1
} }
/// Prepares the cells within the tableView. /// Prepares the cells within the collectionView.
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: MaterialCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MaterialCollectionViewCell", forIndexPath: indexPath) as! MaterialCollectionViewCell let cell: MaterialCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MaterialCollectionViewCell", forIndexPath: indexPath) as! MaterialCollectionViewCell
let item: MaterialDataSourceItem = dataSourceItems[indexPath.item] let item: MaterialDataSourceItem = dataSourceItems[indexPath.item]
......
...@@ -53,8 +53,8 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout { ...@@ -53,8 +53,8 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
/// Layout attribute items. /// Layout attribute items.
public private(set) var layoutItems: Array<(UICollectionViewLayoutAttributes, NSIndexPath)> = Array<(UICollectionViewLayoutAttributes, NSIndexPath)>() public private(set) var layoutItems: Array<(UICollectionViewLayoutAttributes, NSIndexPath)> = Array<(UICollectionViewLayoutAttributes, NSIndexPath)>()
/// Cell items. /// Cell data source items.
public private(set) var items: Array<MaterialDataSourceItem>? public private(set) var dataSourceItems: Array<MaterialDataSourceItem>?
/// Scroll direction. /// Scroll direction.
public var scrollDirection: UICollectionViewScrollDirection = .Vertical public var scrollDirection: UICollectionViewScrollDirection = .Vertical
...@@ -86,7 +86,7 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout { ...@@ -86,7 +86,7 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
public override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? { public override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? {
let attributes: UICollectionViewLayoutAttributes = UICollectionViewLayoutAttributes(forCellWithIndexPath: indexPath) let attributes: UICollectionViewLayoutAttributes = UICollectionViewLayoutAttributes(forCellWithIndexPath: indexPath)
let item: MaterialDataSourceItem = items![indexPath.item] let item: MaterialDataSourceItem = dataSourceItems![indexPath.item]
if 0 < itemSize.width && 0 < itemSize.height { if 0 < itemSize.width && 0 < itemSize.height {
attributes.frame = CGRectMake(offset.x, offset.y, itemSize.width - contentInset.left - contentInset.right, itemSize.height - contentInset.top - contentInset.bottom) attributes.frame = CGRectMake(offset.x, offset.y, itemSize.width - contentInset.left - contentInset.right, itemSize.height - contentInset.top - contentInset.bottom)
...@@ -123,8 +123,12 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout { ...@@ -123,8 +123,12 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
} }
} }
public func prepareLayoutForItems(items: Array<MaterialDataSourceItem>) { public override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint) -> CGPoint {
self.items = items return proposedContentOffset
}
private func prepareLayoutForItems(dataSourceItems: Array<MaterialDataSourceItem>) {
self.dataSourceItems = dataSourceItems
layoutItems.removeAll() layoutItems.removeAll()
offset.x = contentInset.left offset.x = contentInset.left
...@@ -132,8 +136,8 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout { ...@@ -132,8 +136,8 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
var indexPath: NSIndexPath? var indexPath: NSIndexPath?
for i in 0..<items.count { for i in 0..<dataSourceItems.count {
let item: MaterialDataSourceItem = items[i] let item: MaterialDataSourceItem = dataSourceItems[i]
indexPath = NSIndexPath(forItem: i, inSection: 0) indexPath = NSIndexPath(forItem: i, inSection: 0)
layoutItems.append((layoutAttributesForItemAtIndexPath(indexPath!)!, indexPath!)) layoutItems.append((layoutAttributesForItemAtIndexPath(indexPath!)!, indexPath!))
...@@ -155,8 +159,4 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout { ...@@ -155,8 +159,4 @@ public class MaterialCollectionViewLayout : UICollectionViewLayout {
contentSize = CGSizeMake(offset.x, collectionView!.bounds.height) contentSize = CGSizeMake(offset.x, collectionView!.bounds.height)
} }
} }
public override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint) -> CGPoint {
return proposedContentOffset
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment