如图:
如图,我点击了下面某个标题,它就会以动画的方式插入到上面去。
我目前已经用LXReorderableCollectionViewFlowLayout做出了拖动排序的效果,现在想实现这个动画插入,不知各位可提供一些思路,多谢。
LXReorderableCollectionViewFlowLayout
业精于勤,荒于嬉;行成于思,毁于随。
各ラベルの位置を再計算して、ラベルごとに位置変換アニメーションを行うということだと思います。各行の右端が次の行の最初の行に向かって斜めに移動していることがわかります。つまり、これは 2 つの位置の x 座標と y 座標の変換のアニメーションです。 各ラベルは固定サイズ (スーパービューの幅の少なくとも 4 分の 1) であるため、位置の計算は簡単になるはずです。
UICollectionView は独自のアニメーション画のメソッドではありません?
(void)insertItemsAtIndexPaths:(NSArray<NSIndexPath > )indexPaths;
(void)deleteItemsAtIndexPaths:(NSArray<NSIndexPath > )indexPaths;
(void)reloadItemsAtIndexPaths:(NSArray> )indexPaths;
(void)moveItemAtIndexPath:(NSIndexPath )indexPath toIndexPath:(NSIndexPath )newIndexPath;
各ラベルの位置を再計算して、ラベルごとに位置変換アニメーションを行うということだと思います。各行の右端が次の行の最初の行に向かって斜めに移動していることがわかります。つまり、これは 2 つの位置の x 座標と y 座標の変換のアニメーションです。
各ラベルは固定サイズ (スーパービューの幅の少なくとも 4 分の 1) であるため、位置の計算は簡単になるはずです。
UICollectionView は独自のアニメーション画のメソッドではありません?
(void)insertItemsAtIndexPaths:(NSArray<NSIndexPath > )indexPaths;
(void)deleteItemsAtIndexPaths:(NSArray<NSIndexPath > )indexPaths;
(void)reloadItemsAtIndexPaths:(NSArray> )indexPaths;
(void)moveItemAtIndexPath:(NSIndexPath )indexPath toIndexPath:(NSIndexPath )newIndexPath;