gpt4 book ai didi

iphone - 设置UITableViewCell自定义png背景

转载 作者:行者123 更新时间:2023-12-03 20:22:16 25 4
gpt4 key购买 nike

我正在更改 UITableViewCellStyleSubtitle 的背景,如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[...]
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"bgCellNormal" ofType:@"png"];
cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:imagePath]] autorelease];
[...]
return cell;
}

我想知道是否有更好的方法来做到这一点而不使用这么多的分配和自动释放?我的观点是优化这些 uitableview 中的内存!

感谢您的帮助!

凯洛德

最佳答案

您不应从 tableView:cellForRowAtIndexPath: 访问或设置 backgroundView 属性。框架可能还没有实例化它,它可能会在你脚下取代它。分组和普通表格 View 在这方面的行为有所不同,任何新的 future 样式也可能如此。

背景 View 应该在tableView:willDisplayCell:forRowAtIndexPath:中设置和/自定义。在第一次显示调用之前调用此方法。如果您愿意,您可以用它来完全替换背景。我通常会做这样的事情:

-(void)  tableView:(UITableView*)tableView 
willDisplayCell:(UITableViewCell*)cell
forRowAtIndexPath:(NSIndexPath*)indexPath;
{
static UIImage* bgImage = nil;
if (bgImage == nil) {
bgImage = [[UIImage imageNamed:@"myimage.png"] retain];
}
cell.backgroundView = [[[UIImageView alloc] initWithImage:bgImage] autorelease];
}

关于iphone - 设置UITableViewCell自定义png背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com