如何在UITableViewCell中添加图片

时间:2010-05-27 10:56:51

标签: iphone objective-c

我是Iphone应用程序开发和目标C的新手。 我想知道是否有办法在UITableViewCell中插入图片 - 是否创建自定义单元格?

我希望将它定位在“第二行”,就像“cell.detailTextLabel.text”出现一样。

有什么建议吗?提前谢谢。

4 个答案:

答案 0 :(得分:1)

您可以简单地将UIImageView与您的图片一起添加为单元格的子视图。它将以两种方式工作 - 无论是否创建自定义单元格。

以下是一些示例代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *kCellID = [NSString stringWithFormat:@"%d", indexPath.row];

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID];

    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellID] autorelease];

    UIImageView *MyImageView = [[UIImageView alloc] initWithFrame:CGRectMake(100.0, 33.0, 300.0, 110.0)]; //put your size and coordinates here

    MyImageView.image = [UIImage imageNamed:@"MyImage.png"];
    [cell.contentView addSubview: MyImageView];
    [MyImageView release];

    return cell;
}

答案 1 :(得分:0)

自定义单元格是执行此操作的标准方法。在线有很多教程,例如this one

答案 2 :(得分:0)

在你的表格控制器中:

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"CellIdentifier";

    UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier: CellIdentifier];
    if (cell == nil) 
        cell = [[UITableViewCell alloc] initWithFrame:CGZeroRect];

    CGRect cellFrame = cell.frame;
    NSInteger offetXInCell = 3, offsetYInCell = 7;        

    cellFrame.origin.x += offsetXInCell;
    cellFrame.origin.y += offsetYInCell;

    [cell setFrame:cellFrame];

    UIImage *newImage = [UIImage imageNamed:@"MyPicture"];
    cell.image = newImage;

    // .... other initializations of cell
    return cell;
}

我想知道它是否会奏效。你应该把你的数字放在抵消。

答案 3 :(得分:0)

检查tableview套件的示例代码