2

私は一緒に働いてい UICollectionViewます、私は2つのコレクションを持っています。オブジェクトを最初のオブジェクトから2番目のオブジェクトにドラッグして移動する必要があります。私のプロジェクトはLXReorderableCollectionViewFlowLayoutに基づいています。

UICollectionViewドラッグしてオブジェクトを2の間で移動することはでき ますか?

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

}

私はここにコードを書いているだけです (エラーがあるかもしれません) が、私がやっていることの要点を理解していると思います。セクションにレイヤーを1つ追加するだけで、「from」アイテムと「to」アイテムが同じセクションから来るとは想定していません。

警告: このコードは機能しますが、最初にセクションに項目がないと問題が発生します。

お役に立てれば。

于 2013-03-08T22:46:53.380 に答える