在UITableView单元格问题中插入图像

时间:2011-11-10 08:48:58

标签: iphone objective-c uitableview

抱歉这个愚蠢的问题,但我还在学习Objective-C和iPhone编程。

我正在尝试在UITableView单元格的左侧插入一个图标。这来自方法(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"icon3" ofType:@"png"];
UIImage *icon = [UIImage imageWithContentsOfFile: imagePath];
cell.imageView.contentMode = UIViewContentModeScaleAspectFit;
cell.imageView.image = icon;

我的图标(30w x 44h)必须与单元格一样高,而此时它仍然是一个小空间(可能是1个像素)高于它和 。我试图改变图像的尺寸没有成功,我试图用(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath来减小单元格的高度(没有效果)。

我该怎么办?

最后我也应该在左边插入一点空间,但这是次要的。

非常感谢。

This is the screenshot: check that white pixel above the yellow icon

[UPDATE]当UITableView没有“分组”

时没问题

3 个答案:

答案 0 :(得分:3)

您需要更改要调整大小的cell.imageView行的高度。

实现以下方法并返回图像的高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

尝试删除cellForRowAtIndexPath方法中的contentMode设置。您可以用以下一行替换所有代码:

cell.imageView.image = [UIImage imageNamed:@"icon3.png"];

答案 1 :(得分:2)

基于CanadaDev here的代码:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(5,5,20,20)]; // set the location and size of your imageview here.
imageView.image = [UIImage imageNamed:@"image.png"]; // set the image for the imageview
imageView.highlightedImage = [UIImage imageNamed:@"imageHighlighted.png"]; // if you need it, this will allow you to create an image used when the cell is highlighted. For example, a white copy of your image to match the white text.
[cell addSubview:imageView];

然后是文字:

UILabel *price=[[UILabel alloc]initWithFrame:CGRectMake(80,60, 180,12)];
price.text=[NSString stringWithFormat:@"price %@",temp];
price.backgroundColor=[UIColor clearColor];
[price setFont:[UIFont fontWithName:@"American Typewriter" size:12]];
[cell.contentView addSubview:price];
[price release];

答案 2 :(得分:0)

尝试调整cell.imageView

的大小
cell.imageView.bounds = CGRectMake(0,0,0,0) //fill in appropriate location and size for the zeros