我尝试了以下代码,但单元格根本没有变化:
- (void)viewDidLoad
{
[super viewDidLoad];
//Set background image of cells
UITableViewCell *cell;
cell = [CalculatorTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Spots.png"]];
}
答案 0 :(得分:0)
两件事。首先,应该在cellForRowAtIndexPath方法中创建单元格。其次,您应该制作背景视图,然后将其添加到单元格内容视图中。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
cell = [CalculatorTableView alloc] initWithStyle:UITableViewStyleDefault reuseIdentifier:nil]; //This wil obviously depend on your subclass
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Spots.png"]];
[cell.contentView addSubview:backgroundView];
}
答案 1 :(得分:0)
cell.backgroundView = [ [[UIImageView alloc] initWithImage:[ [UIImage imageNamed:@"Spots.png"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:5.0] ]autorelease];
这可能是更好的方法。
或者,你可以试试这个:
您可以尝试使用此代码来帮助您。
将此代码放在cellForRowAtIndexPath
方法
UIImageView *av = [[UIImageView alloc] initWithFrame:CGRectMake(20, 20, 277, 58)];
av.backgroundColor = [UIColor clearColor];
av.opaque = NO;
av.image = [UIImage imageNamed:@"Spots.png"];
cell.backgroundView = av;
您将单元初始化代码放在viewDidLoad中吗?这是非常错误的,应该是:
cellForRowAtIndexPath:
您可能想查看此链接:
答案 2 :(得分:0)
在调用viewWillAppear:
之前,使用静态表视图创建的单元格不存在。将上面的代码移到该方法中(并确保首先调用super
实现。