是否可以在2`UICollectionView`之间移动对象

时间:2012-12-18 13:32:57

标签: objective-c uicollectionview

我正在使用UICollectionView,我有2个收藏。我需要通过拖动将对象从第一个移动到第二个。 我的项目基于LXReorderableCollectionViewFlowLayout

是否可以通过拖动在UICollectionView之间移动对象?

1 个答案:

答案 0 :(得分:1)

是的! (有警告)

您需要替换委托方法willMoveToIndexPath并进行一些修改:

 - (void)collectionView:(UICollectionView *)theCollectionView layout:(UICollectionViewLayout *)theLayout itemAtIndexPath:(NSIndexPath *)theFromIndexPath willMoveToIndexPath:(NSIndexPath *)theToIndexPath
{

/*  code removed from example code
id theFromItem = [self.deck objectAtIndex:theFromIndexPath.item];
[self.deck removeObjectAtIndex:theFromIndexPath.item];
[self.deck insertObject:theFromItem atIndex:theToIndexPath.item];
 */

NSLog(@"From: %d %d    To: %d %d", theFromIndexPath.section, theFromIndexPath.row, theToIndexPath.section, theToIndexPath.row);

    NSMutableArray *fromSectionArray = mySectionArray[theFromIndexPath.section];
NSMutableArray *toSectionArray = mySectionArray[theToIndexPath.section];
id theFromItem = fromSectionArray.myItemArray[theFromIndexPath.item];
[fromSectionArray.myItemsArray removeObjectAtIndex:theFromIndexPath.item];
[toSectionArray.myItemsArray insertObject:theFromItem atIndex:theToIndexPath.item];

}

我只是在这里编写代码(它可能有错误),但我认为你得到了我正在做的事情的要点。我只是为节添加一个图层而不是假设“from”和“to”项来自同一部分。

警告: 此代码有效,但如果该部分最初没有项目,我会遇到问题。

希望这有帮助。