取消UICollectionView的隐式动画
来源:互联网 发布:淘宝无线端怎么推广 编辑:程序博客网 时间:2024/05/29 14:07
UICollectionView在reloadItems的时候,默认会附加一个隐式的fade动画,有时候很讨厌,尤其是当你的cell是复合cell的情况下(比如cell使用到了UIStackView)。
下面几种方法都可以帮你去除这些动画
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//方法一
[UIView performWithoutAnimation:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
}];
//方法二
[UIView animateWithDuration:0 animations:^{
[collectionView performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:nil];
}];
//方法三
[UIView setAnimationsEnabled:NO];
[self.trackPanel performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:^(BOOL finished) {
[UIView setAnimationsEnabled:YES];
}];
如果你的APP只支持iOS7+ 推荐使用第一种方式performWithoutAnimation
but
问题还没有结束 上面介绍的方法只能解决UIView的Animation 如果你的cell中还包含有CALayer的动画 比如这样
1
2
3
4
5
6
- (void)layoutSubviews
{
[
super
layoutSubviews];
self.frameLayer.frame = self.frameView.bounds;
}
上述情况多用于自定义控件使用了layer.mask的情况 如果有这种情况 上面提到的方法是无法取消CALayer的动画的 但是解决办法也很简单
1
2
3
4
5
6
7
8
9
10
11
12
- (void)layoutSubviews
{
[
super
layoutSubviews];
[CATransaction begin];
[CATransaction setDisableActions:YES];
self.frameLayer.frame = self.frameView.bounds;
[CATransaction commit];
}
OK !
1 0
- 取消UICollectionView的隐式动画
- 取消UICollectionView的隐式动画
- 取消UICollectionView 的reloadItemsAtIndexPath默认动画
- UICollectionView的Cell加载动画
- 去掉UICollectionView 在 reloadItems时默认附加的隐式fade动画。
- 解决UICollectionView ReloadData闪一下(隐式动画)
- 解决UICollectionView ReloadData闪一下(隐式动画)
- 解决UICollectionView ReloadData闪一下(隐式动画)
- UITableViewCell和UICollectionView的几种动画
- iOS开发~为UICollectionView的reloadData方法添加动画
- 如何取消应用程序弹出的动画效果
- 如何取消应用程序弹出的动画效果
- UISearchBar 怎么取消 点击的动画效果
- UISearchBar 怎么取消 点击的动画效果
- iOS UICollectionView 实现多选及取消
- UICollectionView实现动画轮播
- UICollectionView UITableView 添加滑动动画
- fushioncharts取消加载动画
- android design library提供的TabLayout的基本用法
- jwt
- HTML中select标签单选多选用法详解
- Java设计模式之抽象工厂模式
- 解决View drawableLeft左侧图片大小不可控的问题
- 取消UICollectionView的隐式动画
- 几个最大子字符串的算法题
- JavaScript的事件委托及好处
- mybatis3.2.8配置log4j2打印sql
- R调试
- Javascript书籍
- 关于eclipse中调试时 不断地跳入threadpoolexecutor的问题
- Cesium里面的remove函数
- static