4

首先,我在滚动表格视图时遇到内存泄漏。与此处相同的问题。

此外,我的滚动速度足够快,但是当我滚动它时它“有点颤抖”。细胞可重复使用。

代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    Country *country=[[self.items objectAtIndex:[indexPath section]] objectAtIndex:[indexPath row]];
    CountryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    cell.imageView.image=[UIImage imageNamed:country.countryFlag];
    cell.countryName.text=country.countryName;
    cell.currencyCode.text=country.code;
    cell.currencyOriginalName.text=country.originalUnitName;

    return cell;
}

应用程序:iOS 5、ARC、Storyboard。

这种 tableView 行为的真正原因是什么以及如何解决它?

4

1 回答 1

5

如果您在设备中的滚动效果不佳,那么您可能没有在原型中正确配置您的子视图。在上述方法中,您没有做任何昂贵的事情。

使用核心动画工具(仅限设备) - 在滚动时检查每秒帧数。您希望尽可能接近 60fps。

打开“颜色混合图层” - 任何绘制透明的东西都将以红色突出显示。如果可能,您希望从您的单元格中删除所有透明度,并将它们全部设为绿色。这可能只是在原型子视图中正确设置背景颜色和不透明标志的问题。

如果您的图像与图像视图的大小不同,那么每次出现单元格时您都会调整大小,这也是一项昂贵的操作。

于 2012-04-05T06:17:05.067 回答