iOS tableView reloadData 抖动问题
2018-01-30 17:23
1256 查看
在使用自动布局之后,屏幕刷新调用reloadData会间歇性的抖动,体验及其差。
产生原因:
在使用自动布局之后,UITableViewAutomaticDimension
高度自动适应,就是每次计算高度的时候产生闪动,我怀疑过scroll动画,频繁调用,但是最终原因是这个自动布局计算cell高度。
解决方法:
对自动计算的高度进行缓存,仔细观察,第一次出现的时候不抖动的。
代码逻辑:
完美解决~
出处:问题出处
产生原因:
在使用自动布局之后,UITableViewAutomaticDimension
高度自动适应,就是每次计算高度的时候产生闪动,我怀疑过scroll动画,频繁调用,但是最终原因是这个自动布局计算cell高度。
解决方法:
对自动计算的高度进行缓存,仔细观察,第一次出现的时候不抖动的。
代码逻辑:
// declare cellHeightsDictionary NSMutableDictionary *cellHeightsDictionary; // initialize in code (thanks to @Gerharbo) cellHeightsDictionary = @{}.mutableCopy; // declare table dynamic row height and create correct constraints in cells tableView.rowHeight = UITableViewAutomaticDimension; // save height - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { [cellHeightsDictionary setObject:@(cell.frame.size.height) forKey:indexPath]; } // give exact height value - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { NSNumber *height = [cellHeightsDictionary objectForKey:indexPath]; if (height) return height.doubleValue; return UITableViewAutomaticDimension; }
完美解决~
出处:问题出处
相关文章推荐
- iOS tableView reloadData不生效或出现问题
- iOS开发UITableView篇:[self.tableView reloadData]执行时间过长问题解决历程
- 郑州iOS點 - 关于tableView 和 collectionView 在ReloadData时候闪烁的问题
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- 如何检测tableview reloaddata结束【ios】
- iOS用SegmentController来切换tableView的时候 reloadData会造成数据重复创建 解决办法
- iOS9.0以上tableView reload刷新界面展示问题
- 解决iOS UITableView reloadData 时闪屏的问题
- iOS UITableView reloadData问题总结
- 关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- iOS UITableView使用reloadData刷新后TableViewCell向上偏移问题
- iOS 关于UICollectionView选中状态,当使用reloadData方法时出现数据的问题?
- 在textFieldShouldEndEditing 方法中调用[self.tableView reloadData] 失效问题
- iOS中3DTouch预览导致TableView滑动卡顿问题解决的方法
- iOS tableView滑动卡顿的问题之一
- 由UITableView reloadData后引起的界面布局问题分析
- tableview的reloadData应注意
- 求助,iOS tableview 跳转问题,单击无法跳转
- iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见