的UITableView的selectRowAtIndexPath:动画:的scrollPosition:在IOS reloadData后不工作8
我在tableView:didSelectRowAtIndexPath:
的UITableView的selectRowAtIndexPath:动画:的scrollPosition:在IOS reloadData后不工作8
[tableView reloadData];
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
以下代码它取消选择表视图之后,由用户(动画)的螺纹表视图细胞是重新加载。它在iOS 7和更早版本中运行良好,但在iOS 8中未显示动画。
iOS 8做了哪些改变?在iOS 8中实现相同效果的最佳方式是什么?
导致您致电[tableView reloadData]
的周边代码是什么?
根据您在cellForRowAtIndexPath
及其周围方法中所做的处理量,这可能是一项昂贵的操作。
您可以运行:无需重新加载整个的tableView数据源
[tableView beginUpdates];
// Update code here
[tableView endUpdates];
。
当调用didSelectRowAtIndexPath
时,该单元格已被选中。所以不需要调用tableView的selectRowAtIndexPath
方法。只需致电deselectRowAtIndexPath
就可以在更新您的电池后执行此操作
我调用'reloadData'来更新表(根据选择添加或删除行),并在选定行旁边显示复选标记。我想这是非常昂贵的,我应该以不同的方式做事(我在这方面还比较新)。但是,代码在iOS 7及更早版本中运行良好。 – James 2015-02-11 10:10:38
您在寻找什么样的效果?你真的需要重新加载或更新单元格吗? – Wain 2015-02-10 20:10:53
1.为什么在选择一行时重新加载数据? – hariszaman 2015-02-10 20:25:50
我调用'reloadData'来更新表格(添加或删除行,具体取决于所选内容)并在所选行旁边显示复选标记。我不确定这是否是最好的方式来做我需要的东西(在这方面还比较新),但是代码在iOS 7和更早版本中运行良好。 – James 2015-02-11 10:13:24