2

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

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

4

1 回答 1

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];

}

我只是在这里写代码(它可能有错误),但我想你明白我在做什么的要点。我只是为部分添加一层,而不是假设“从”和“到”项目来自同一部分。

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

希望这可以帮助。

于 2013-03-08T22:46:53.380 回答