我正在合作 UICollectionView
,我有 2 个收藏。我需要通过拖动将对象从第一个移动到第二个。我的项目基于LXReorderableCollectionViewFlowLayout。
是否可以通过拖动在 2 之间移动对象 UICollectionView
?
我正在合作 UICollectionView
,我有 2 个收藏。我需要通过拖动将对象从第一个移动到第二个。我的项目基于LXReorderableCollectionViewFlowLayout。
是否可以通过拖动在 2 之间移动对象 UICollectionView
?
是的!(有一个警告)
您需要替换委托方法 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];
}
我只是在这里写代码(它可能有错误),但我想你明白我在做什么的要点。我只是为部分添加一层,而不是假设“从”和“到”项目来自同一部分。
警告:此代码有效,但如果该部分最初没有项目,我会遇到问题。
希望这可以帮助。