0

我创建了一个原型UITableViewCell,并用包含图像路径和单元格标签文本的字符串的字典填充它。我在我的应用程序中使用与较大图像视图相同的图像大小UITableViewCellUIImageView并且一些图像非常大.. 例如 300w x 800h 和 300 kb 大小。所以每个单元格总共加载了大约 500 kb 的内容。因此,当我运行该应用程序时,在第一次向下滚动 UITableView(创建单元格时)时,我会遇到滚动滞后。

如果我这样离开它,它会通过 App Store 审核还是可能因此被拒绝?听说过任何案例吗?

我知道我可以为 UITableViewCell 制作一些较小的图像。那么,UIImageView(旧款 iPhone 和视网膜)的首选像素尺寸是多少?(或者是否有最大 kb 加载限制UITableViewCell?)

如果你要说 44 和 88 点,研究告诉我这是它本身的默认高度 ,与尺寸无关,如果有的话,也与 kb 限制无关。UITableViewCell UIImageView

最后:还有其他(苹果认可的方法)可以避免滞后吗?就像在滚动开始之前创建单元格之类的?

4

1 回答 1

1

尝试使用LazyLoading。如果图像来自服务器。这是滞后(延迟)的主要问题,并且由于 hte 单元被重用,所以每当您滚动时,它每次都会加载图像。

另外,由于您说图像非常大,因此请尝试将图像转换为较小的尺寸。图像的大小未预定义为 44 或 88 或任何值。我们可以根据单元格的高度设置大小。

编辑 正如 Kristoffer 所说,这些图像来自他的主捆绑包,而不是来自服务器,您能否尝试更改cellForRowAtIndexPath

static NSString *CellIdentifier = @"Cell";

NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d%d",indexPath.row,indexPath.section];

不太确定它是否会起作用。但它会停止重用单元格所以你的单元格不会重新加载单元格中已经加载的图像。

于 2012-08-17T12:47:58.053 回答