变更记录

序号 录入时间 录入人 备注
1 2017-07-06 Alfred Jiang -

方案名称

UITableViewCell - 通过 UITableViewCell 界面外壳优化列表滑动显示

关键字

UITableViewCell \ UITableView \ 界面外壳 \ 滑动优化

需求场景

  1. 当用户快速滚动列表时,虽然使用视图重用和渲染,但仍然可能发生丢帧卡顿现象,通过界面外壳可以做进一步优化

参考链接

  1. 《高性能 iOS 应用开发》

详细内容

界面外壳可以被预先定义,它唯一的目的就是告诉终端用户这些部分即将展示一些数据。当滚动速度降低,并低于阈值时,刷新最终的视图并填充数据。

列表视图的速度获取与界面外壳使用注释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
self.velocity = [scrollView.panGestureRecognizer velocityInView:self.view];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (fabs(self.velocity.y) > 2000) {
//返回界面外壳
}
else{
//返回真正的单元格
}
}

效果图

(无)

备注