所谓NSIndexPath,主要用来标识cell在列表中的坐标位置,其有两个属性:section、row,section是用来标识cell处于第几个section中,row是用来说明cell在该section中的第几行。
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:2];
[_mainCollectionView reloadItemsAtIndexPaths:@[indexPath]];
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:3];
[_mainCollectionView reloadSections:indexSet];
传入参数就是要刷新的cell所在的indexPath组成的数组。但,reloadItemsAtIndexPath默认会有一个动画的过程,cell内容更新的瞬间会出现原内容与新内容重叠的情况。那么使用如下方式取消该动画即可:[UIView performWithoutAnimation:^{ [self.collectionView reloadItemsAtIndexPaths:@[indexPath]];}];UITableView
UITableView的reloadSections方法也有同样的情况:
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];而使用reloadData进行全部cell的更新,则没有这个默认的动画过程。
新闻热点
疑难解答