0

UICollectionView子ビュー コントローラーに移行するときに、各アイテムを個別にアニメーション化することはできますか? アイテムが選択されたUICollectionViewControllerときに、そのアイテムを囲むすべてのアイテムが選択されたアイテムから跳ね返ります。

4

1 に答える 1

0

あなたの説明は、UICollectionView の layoutTransition のように聞こえます。私の提案は、サブクラス化UICollectionViewLayoutとオーバーライドによって新しいレイアウトを作成することです

- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath

そこで、アイテムのフレームを変更して、探している効果を作成できます。特に、選択された indexPath を追跡し、その項目に影響を与えないようにすることができます。残りについては、次のようなことができます。

CGRect selectedItemFrame = [[super layoutAttributesForItemAtIndexPath:self.selectedIndexPath] frame];

CGFloat xOffset = attributes.frame.origin.x <= selectedItemFrame.origin.x ? -400.0 : 400.0;
CGFloat yOffset = attributes.frame.origin.y <= selectedItemFrame.origin.y ? -600.0 : 600.0;
CGRect newFrame = CGRectOffset(attributes.frame, xOffset, yOffset);
attributes.frame = newFrame;

次に、あるレイアウトから別のレイアウトへの遷移をトリガーするだけです。

于 2014-04-09T09:57:32.863 に答える