我在tableView:didSelectRowAtIndexPath:
[tableView reloadData];
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
在重新加载表视图后,它取消选择由用户(带动画)轻触的表格视图单元格。它在iOS 7及更早版本中运行良好,但在iOS 8中未显示动画。
在iOS 8中做了哪些更改才导致此问题?在iOS 8中实现相同效果的最佳方法是什么?
答案 0 :(得分:0)
导致您致电[tableView reloadData]
的周围代码是什么?
根据您在cellForRowAtIndexPath
及周围方法中的处理量,这可能是一项昂贵的操作。
你可以运行:
[tableView beginUpdates];
// Update code here
[tableView endUpdates];
无需重新加载整个tableView数据源。
调用didSelectRowAtIndexPath
时,单元格已被选中。所以不应该需要调用tableView的selectRowAtIndexPath
方法。在更新单元格后,只需调用deselectRowAtIndexPath
即可。