0

我尝试在 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;

}

为什么这里不显示文字?有人可以帮忙吗?

4

3 回答 3

4

试试这个代码,

theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"cellbg.jpeg"]];
于 2013-03-22T03:48:41.697 回答
0

您不应该将背景图像添加到 UILable 而是将背景图像添加到 tableCell 作为 subnview 或将背景图像添加为[cell.contentview addSubview:[UIImage imageNamed:@"cellbg.jpeg"]]

也使用 PNG 而不是 JPEG/JPG。苹果更喜欢 PNG。

于 2013-03-22T03:45:56.010 回答
0

而不是将背景lable放在ImageView后面,lable然后将图像设置为ImageView。它会起作用的。

于 2013-03-22T03:46:37.733 回答