1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- From fa0aabe932016b67a37b82b04dd21e2b4bdfad12 Mon Sep 17 00:00:00 2001
- From: Carola Nitz <nitz.carola@googlemail.com>
- Date: Mon, 24 Mar 2014 22:12:53 +0100
- Subject: [PATCH] Added a delegate method to remove item from folder
- ---
- .../LXReorderableCollectionViewFlowLayout.h | 1 +
- .../LXReorderableCollectionViewFlowLayout.m | 8 +++++++-
- 2 files changed, 8 insertions(+), 1 deletion(-)
- diff --git a/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.h b/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.h
- index 76617f4..45c3843 100755
- --- a/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.h
- +++ b/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.h
- @@ -24,6 +24,7 @@
-
- - (void)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)fromIndexPath willMoveToIndexPath:(NSIndexPath *)toIndexPath;
- - (void)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)fromIndexPath didMoveToIndexPath:(NSIndexPath *)toIndexPath;
- +- (void)collectionView:(UICollectionView *)collectionView removeItemFromFolderAtIndexPathIfNeeded:(NSIndexPath *)indexPath;
-
- - (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath;
- - (BOOL)collectionView:(UICollectionView *)collectionView itemAtIndexPath:(NSIndexPath *)fromIndexPath canMoveToIndexPath:(NSIndexPath *)toIndexPath;
- diff --git a/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.m b/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.m
- index e1289b2..abf5a98 100755
- --- a/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.m
- +++ b/LXReorderableCollectionViewFlowLayout/LXReorderableCollectionViewFlowLayout.m
- @@ -240,6 +240,7 @@ static NSString * const kLXCollectionViewKeyPath = @"collectionView";
- translation = CGPointMake(0.0f, distance);
- } break;
- case LXScrollingDirectionLeft: {
- + [self.dataSource collectionView:self.collectionView removeItemFromFolderAtIndexPathIfNeeded:_selectedItemIndexPath];
- distance = -distance;
- CGFloat minX = 0.0f - contentInset.left;
-
- @@ -250,6 +251,7 @@ static NSString * const kLXCollectionViewKeyPath = @"collectionView";
- translation = CGPointMake(distance, 0.0f);
- } break;
- case LXScrollingDirectionRight: {
- + [self.dataSource collectionView:self.collectionView removeItemFromFolderAtIndexPathIfNeeded:_selectedItemIndexPath];
- CGFloat maxX = MAX(contentSize.width, frameSize.width) - frameSize.width + contentInset.right;
-
- if ((contentOffset.x + distance) >= maxX) {
- @@ -384,7 +386,11 @@ static NSString * const kLXCollectionViewKeyPath = @"collectionView";
- CGPoint viewCenter = self.currentView.center = LXS_CGPointAdd(self.currentViewCenter, self.panTranslationInCollectionView);
-
- [self invalidateLayoutIfNecessary];
- -
- + //TODO: start a timer to not immediately trigger the remove from folder
- + if (self.currentView.center.x < 0 || self.currentView.center.x > self.collectionView.frame.size.width) {
- + [self.dataSource collectionView:self.collectionView removeItemFromFolderAtIndexPathIfNeeded:_selectedItemIndexPath];
- + [self.currentView removeFromSuperview];
- + }
- switch (self.scrollDirection) {
- case UICollectionViewScrollDirectionVertical: {
- if (viewCenter.y < (CGRectGetMinY(self.collectionView.bounds) + self.scrollingTriggerEdgeInsets.top)) {
- --
- 1.8.5.2 (Apple Git-48)
|