修复iPhone中UITableViewCell中的图像视图?

时间:2011-01-21 09:09:54

标签: iphone uitableview

我有一个包含所有默认设置的表格单元格。我在左边的ImageView上放了一个图像,然后在TextLabel上放了一些随机文本。

我用下面的方法调整细胞的高度。

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

问题是左侧ImageView的帧大小因单元格的高度而异。

见下图,第4个单元格的高度比其他单元格大,与其他图像相比,它的图像稍微偏右。

是什么导致这种情况,我该如何解决这个问题?

alt text

- 已添加<​​/ p>

这是我的cellForRowAtIndexPath方法。


    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefaultt reuseIdentifier:CellIdentifier] autorelease];
    }
    cell.textLabel.numberOfLines = 0;
    cell.textLabel.text = [self GetSelectionForRowAtIndexPath:indexPath];

    NSString *path = [[NSBundle mainBundle] pathForResource:@"icon_notSelected" ofType:@"png"];
    UIImage *theImage = [UIImage imageWithContentsOfFile:path];
    cell.imageView.image = theImage;

这表明即使我在单元格上放置更多高度,imageView也不会变大。

alt text

3 个答案:

答案 0 :(得分:0)

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

将此代码放入 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

如果将在同一行的表格的每个单元格中显示图像。

答案 1 :(得分:0)

您只能通过代码执行此操作。不需要IB。

答案 2 :(得分:0)

为imageview提供一个固定的帧,然后将其垂直居中放置在单元格中。

这些方面的东西:

imageview.frame = CGRectMake(5, floor(cellHeight/2)-20, 40, 40);

或者只使用UITableViewCell的imageview属性。