UITableViewCell中的UIImage

时间:2012-04-10 17:30:41

标签: objective-c ios uitableview uiimage

我正在尝试将图像放在UITableViewCell中。我使用SSMessages样式作为我的消息。 enter image description here

尝试了类似cell.imageView.image = [UIImage imageNamed:message.messageText];的内容,但这不起作用。有什么建议?也许需要我的其他代码?

3 个答案:

答案 0 :(得分:3)

使用SSMessageTableViewCellBubbleView的leftBackgroundImage并以这种方式将其添加到您的表视图

SSMessageTableViewCellBubbleView *imageBubbleView = [SSMessageTableViewCellBubbleView alloc]     init];
imageBubbleView. leftBackgroundImage = [UIImage imageNamed:message.messageText];

[cell.contentView addSubview:imageBubbleView];

我希望这可行!

答案 1 :(得分:1)

首先设置图像视图的背景颜色以进行故障排除:

cell.imageView.backgroundColor = [UIColor colorWithRed:(255.0f/255.0f) green:(0.0f/255.0f) blue:(0.0f/255.0f) alpha:1.0f];

设置图片:

cell.imageView.image = ...;

设置图像视图框:

cell.imageView.frame = CGRectMake(x, y, cell.imageView.image.size.width, cell.imageView.image.size.height);

将图像视图添加为单元格的子视图。

将此子视图放在前面:

[cell bringSubviewToFront:[cell.imageView superview]];

答案 2 :(得分:1)

您可能需要致电[cell setNeedsLayout][cell setNeedsDisplay],以便让相片为新图片更新UIImageView的相框。如果UIImageView的框架为UIImageView,则只需在CGRectZero上设置图片就无效。

要查看框架是否为零,请尝试使用以下方法添加背景颜色或图层边框:

cell.imageView.layer.borderWidth = 1.f;
cell.imageView.layer.borderColor = [UIColor redColor].CGColor;