我尝试将背景图像设置为UITableViewCell中的标签,但在运行时,只有背景图像显示在标签中,文本不会显示。
这是我的代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"TableCell";
// Dequeue or create a cell of the appropriate type.
TableCell *cell = (TableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
UIImageView *preparationLabelBg = [[UIImageView alloc]
initWithImage:[UIImage imageNamed:@"cellbg.jpeg"]];
[cell.preparationLabel addSubview:preparationLabelBg];
cell.preparationLabel.backgroundColor=[UIColor clearColor];
[cell.preparationLabel sendSubviewToBack:preparationLabelBg];
[cell.preparationLabel setOpaque:NO];
}
[cell.preparationLabel setFont:[UIFont fontWithName:@"Marker Felt" size:14]];
// Configure the cell.
if (btnselected==1)
{
cell.preparationLabel.text = [recipe.ingredients objectAtIndex:indexPath.row];
}
else
{
cell.preparationLabel.text = [recipe.preparation objectAtIndex:indexPath.row];
}
return cell;
}
为什么这里没有显示文字?有人可以帮忙吗?
答案 0 :(得分:4)
试试这段代码,
theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cellbg.jpeg"]];
答案 1 :(得分:0)
您不应将背景图像添加到UILabel,而是将背景图像添加到表格Cell作为子视图或将背景图像添加为[cell.contentview addSubview:[UIImage imageNamed:@"cellbg.jpeg"]]
也可以使用PNG代替JPEG / JPG。 Apple更喜欢PNG。
答案 2 :(得分:0)
而不是将lable
的背景放在ImageView
的后面放置一个lable
,然后将图像设置为ImageView
。它会起作用。