2

を使用してUICollectionView、一連のグラフィックを複数の行と列に表示しています。ユーザーはpinchGestureズームイン/ズームアウトに使用できます。

ユーザーがズームインするとグラフのサイズが大きくなり、ズームアウトするとグラフのサイズが小さくなります。グラフのサイズを変更するには、プロパティitemSizeを から変更するだけですUICollectionViewFlowLayout。うまく機能しますが、次のコードでは変更をアニメーション化できません。

    [UIView transitionWithView:self.theCollectionView
                  duration:0.5f
                   options:UIViewAnimationOptionCurveLinear
                animations:^() {
                    _theFlowLayout.itemSize = cellSize;
                }
                completion:nil];

この変更をアニメーション化する方法はありますか?

よろしく、

セバスチャン。

4

1 に答える 1

1

performBatchUpdatesレイアウトを無効にして再クエリし、新しい値にアニメーション化するコレクション ビューのメソッドを使用できます。

このようなもの:

_theFlowLayout.itemSize = cellSize;
[self.theCollectionView performBatchUpdates:nil completion:nil];

残念ながら、アニメーションのタイミングやカーブを制御することはできません。

于 2013-09-30T08:56:37.437 に答える