1. ホーム
  2. ios

[解決済み] UICollectionView の reloadItemsAtIndexPaths 後のアニメーションを回避する。

2023-01-20 08:39:25

質問

UICollectionViewはreloadItemsAtIndexPathsが呼ばれた後、アイテムをアニメーションさせます(フェードアニメーション)。

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

iOS 6

どのように解決するのですか?

注目すべきは、iOS 7 以降を対象にしている場合、新しい UIView メソッド performWithoutAnimation: . 私は、ボンネットの下では、これはここでの他の答えとほとんど同じことをしていると思います (一時的に無効な UIView アニメーション / コアアニメーションアクションを一時的に無効にする)、しかし構文は素晴らしく、きれいです。

だから特にこの質問については...

Objective-Cです。

[UIView performWithoutAnimation:^{
    [self.collectionView reloadItemsAtIndexPaths:indexPaths];
}];



Swiftです。

UIView.performWithoutAnimation {
    self.collectionView.reloadItemsAtIndexPaths(indexPaths)
}



もちろん、この原則は、変更が確実に ではない をアニメ化した。