Meg*_*ega 2 iphone objective-c ios ios5 ios7
我希望tableview在每个可滚动的行中显示多个图像.为此我正在使用,UITableView
并且Custom UITableViewCell
,在自定义tableView单元格中,我正在生成具有多个视图和图像的滚动视图,因此当我滚动表格时,它不能平滑地滚动它的闪烁.谁能建议我以更好的方式做到这一点?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Products table view.
ProductCustomCell *cell = (ProductCustomCell *)[tableView dequeueReusableCellWithIdentifier:@"CatelogCell"] ;//] forIndexPath:indexPath];
if (cell == nil) {
cell = [[ProductCustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CatelogCell"];
}
cell.productCellDelegate = self;
[cell initProperties];
[cell showProductsInScroll:catelogBundle];
}
Run Code Online (Sandbox Code Playgroud)
如果你想平滑滚动tableview,你应该注意几个提示.
缓存行的高度(表视图可以经常请求), - 实际上这一点不是阻止tableview滚动的关键点.
为表中使用的映像创建最近最少使用的缓存(并在收到内存警告时使所有非活动条目无效) - 您可以使用SDWebImage下载映像并缓存它们.有时,您可能想要缓存一些您的tableview经常使用的图像,如果您当前的视图是顶视图,即使您收到内存警告,这些图像也可能无法释放.
在绘制一切UITableViewCell
的drawRect:
,如果不惜一切代价尽量避免子视图(或者,如果你需要的标准的辅助功能,内容画面的drawRect:
) -它可以节省一些成本,但它也可能会花费你更多的时间来编写,也许难以维持码.但是在uitableviewcell上使用较少的视图真的很好,这将提高你的表现.
使你UITableViewCell
的图层不透明(如果有的话,内容视图也一样) - 请尽可能少地使用图层不透明.
使用UITableView
示例/文档中建议的reusableCellIdentifier功能- 您必须遵循此提示.
避免渐变/复杂的图形效果,这些效果不是预先烘焙成UIImage
s - 如第4点.
当然,大部分时间,如果你的tableview滚动不顺畅,主要问题是你在同步中加载图像.
使用仪器测试性能真的很棒.
归档时间: |
|
查看次数: |
8347 次 |
最近记录: |