用reloadRowsAtIndexPaths刷新单个cell 跳动问题
一个很常见的需求就是在一个cell上点赞,评论等操作时,需要刷新单个cell对象,常用的方法即为:
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:index inSection:0],nil] withRowAnimation:UITableViewRowAnimationNone];
仅仅这行代码会引起cell上下跳动的问题,原因是 上述刷新过程中,虽然我们已经设置UITableViewRowAnimationNone,但任然会默认添加隐式动画效果。
解决办法:去掉动画效果。
方法1:(支持iOS7+)
[UIView performWithoutAnimation:^{
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:index inSection:0],nil] withRowAnimation:UITableViewRowAnimationNone];
}];
方法2:
[UIView animateWithDuration:0 animations:^{
[collectionView performBatchUpdates:^{
[collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:nil];
}];
方法3:(仅用于iOS11以后)
[UIView setAnimationsEnabled:NO];
[self.tableView performBatchUpdates:^{
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:index inSection:0],nil] withRowAnimation:UITableViewRowAnimationNone];
} completion:^(BOOL finished) {
[UIView setAnimationsEnabled:YES];
}];
用reloadRowsAtIndexPaths刷新单个cell 跳动问题相关推荐
- UITableView刷新单个cell或者单个Section
//一个section刷新 NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2]; [tableview reloadSec ...
- easypoi导出excel不设置样式_EasyExcel为单个Cell设置样式
EasyExcel是阿里巴巴对POI封装的一个库,号称解决了POI的OOM问题,并且在使用上也更方便一些 然而我在使用的时候发现还是有很多坑,其中一个比较头疼的是对单个单元格样式的设置.EasyExc ...
- Bootstrap4+MySQL前后端综合实训-Day07-AM【ajax局部刷新——(单个/批量)删除用户按钮的实现、更新用户信息按钮的实现】
[Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目 录 (单个/批量)删除用户按钮的实现.更新用户信息按钮的实现--展示 ...
- Web前端笔记-解决NicSroll使用后页面跳动(每次刷新或进入跳动一下然后正常)问题
我的是这样的页面 头部和尾部不动,就中间动.但每次刷新时会先出现这个. 然后页面跳动下,就正常了,很奇怪的体验,对应的代码如下: <head>.........<script> ...
- EasyExcel为单个Cell设置样式
InteliJ IDEA全家桶正版激活 EasyExcel是阿里巴巴对POI封装的一个库,号称解决了POI的OOM问题,并且在使用上也更方便一些 Github: 然而我在使用的时候发现还是有很多坑,其 ...
- iOS Core Animation + Foundation + UIKit
目录 Core Animation CAShapeLayer CAGradientLayer CAGradientLayer和CAShapeLayer配合使用 CAGradientLayer隐式动画 ...
- iOS开发中 经常遇到的坑,看我就够了! 韩俊强的博客
从事iOS开发有些年月了,从最开始的磕磕绊绊,不知所措,到现在的遇到困难都能快速做出最佳方案处理,中间经历了不可或缺的痛苦.在项目开发中,本人有用印象笔记记录的习惯,所以很多重复出现的坑,很快迎刃而解 ...
- 刷新UITableView
[from]http://www.superqq.com/blog/2015/08/18/ios-development-refresh-uitableview/ UITableView对于iOS开发 ...
- tableview插入刷新_iOS中tableview的几种刷新
iOS中tableview的几种刷新 第一种刷新:tableview的刷新 [self.tableView reloadData]; reloadData是刷新整个UITableView,有时候, ...
- 深入理解SpringCloud之配置刷新
我们知道在SpringCloud中,当配置变更时,我们通过访问http://xxxx/refresh,可以在不启动服务的情况下获取最新的配置,那么它是如何做到的呢,当我们更改数据库配置并刷新后,如何能 ...
最新文章
- 【PAT乙级】1072 开学寄语 (20 分)
- influxdb 最近小时统计_用pandas快速统计学生年龄班级等分组信息
- G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——Circle
- jzoj3382-七夕祭【贪心,中位数】
- 数据结构之顺序队列和链式队列常用的一些操作
- 万物智联时代的终端智能「管家」 重磅升级:混合云IoT一体机
- db2 语句包括不必要的列表_DB2 SQL0956C 数据库堆中没有足够的处理空间可用来处理此语句...
- 那个 CEO 写下 70 万行代码的公司,马上要上市了
- visual c语言编译运行结果,Visual Studio 2015编译运行C语言文件问题小结
- 洛谷P3048 [USACO12FEB]牛的IDCow IDs
- Julia : 如何在Atom中能用上go to definition?
- SoapUI接口测试——全流程转载
- 计算机一级excel建立数据透视表,excel中插入数据透视表的方法
- HTML5 实现拼图游戏
- 计算机硬盘数据如何恢复,如何防止硬盘数据被恢复?毁灭数据教程
- 苹果ipad服务器无响应怎么办,苹果iPad死机怎么办?几种处理iPad使用过程中死机的方法...
- vue如何关闭eslint语法检查
- 4个月转行做软件测试,我的薪资飙升300%
- BLE_BQB Test_Intermodulation Performance, uncoded data at 1 Ms/s_RF-PHY/RCV/BV-05-C
- 树莓派 树莓派 编c++_为什么树莓派仍然是教育的白骑士