//方法一
[UIView performWithoutAnimation:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
}];
//方法二
[UIView animateWithDuration:0 animations:^{
[collectionView performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:nil];
}];
如果你的APP只支持iOS7+ 推荐使用第一种方式performWithoutAnimation
上述情况多用于自定义控件使用了layer.mask的情况 如果有这种情况 上面提到的方法是无法取消CALayer的动画的 但是解决办法也很简单
去掉UICollectionView 在 reloadItems时默认附加的隐式fade动画。
最新推荐文章于 2021-09-25 18:14:47 发布
本文介绍了如何在iOS7+中去掉UICollectionView在reloadItems时默认的隐式fade动画,特别是针对自定义控件使用layer.mask时的问题,提供了解决方案。
摘要由CSDN通过智能技术生成