自定义 UITableViewCell 快速滚动
Posted
技术标签:
【中文标题】自定义 UITableViewCell 快速滚动【英文标题】:Custom UITableViewCell fast scrolling 【发布时间】:2010-08-23 19:05:40 【问题描述】:我有一个 UITableView 显示我在界面生成器中设计的自定义视图单元格。它有很多按钮和标签以及渐变背景,这使得滚动性能马虎,每次加载新单元格时它都会“滞后”。我已经阅读了创建 Tweetie 的人关于快速滚动的指南,它说最好手动绘制所有内容。
还有其他方法可以做到这一点吗?我想使用我的 .xib 文件,因为手动绘制所有这些组件非常繁琐。
这就是 cellForRowAtIndexPath: 方法的实现方式:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"ThreadsViewCell";
ThreadViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ThreadViewCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
if([currentObject isKindOfClass:[ThreadViewCell class]])
cell = (ThreadViewCell *)currentObject;
break;
【问题讨论】:
【参考方案1】:复杂的视图层次结构和 alpha 混合总是会影响您的滚动性能。
您需要扁平化/简化视图层次结构,或者开始锻炼您的 CoreGraphics 技能。
如果您有兴趣了解自己进行了多少混合,请(在设备上)在仪器中运行“核心动画”模式并选中“颜色混合图层”复选框。您希望看到尽可能多的绿色,红色越深,混合效果越差。
【讨论】:
以上是关于自定义 UITableViewCell 快速滚动的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 内的 UIScrollView - 水平滚动