我正在使用UICollectionView
,我有2个收藏。我需要通过拖动将对象从第一个移动到第二个。
我的项目基于LXReorderableCollectionViewFlowLayout。
是否可以通过拖动在UICollectionView
之间移动对象?
答案 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”项来自同一部分。
警告: 此代码有效,但如果该部分最初没有项目,我会遇到问题。
希望这有帮助。