0

我有一个非常困难的问题。这就是我的自定义单元格的样子。

|--------------------------------------------------------------------------|
|                                                                          |
|                                                                          |
|  Imageview1   Imageview2      Imageview3     Imageview4    imageview5    |
|                                                                          |
|                                                                          |
|                                                                          |                      
|--------------------------------------------------------------------------|

我有一个包含 20 张图像的核心数据库。我想做的是用我的图像填充所有这些图像视图。所以在和我应该有 5 行,每个图像视图中都有一个不同的图像。

这是我的 cellforrowAtIndexpath 的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    for(int i=0;i<5;i++)
    {
        float xCoord = 0.0;
        Team *team = [self.fetchedResultsController objectAtIndexPath:indexPath];
        NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:team.image]];
        UIImage* image = [[UIImage alloc] initWithData:imageData];
        UIImageView* imgView = [[UIImageView alloc] initWithImage:image];
        [imgView setFrame:CGRectMake(xCoord,0,imgView.frame.size.width, imgView.frame.size.height)];
        [cell.contentView addSubview:imgView];
        xCoord += imgView.frame.size.width;
    }


    return cell;
}

这就是我走了多远。我现在不知道如何正确填写这个 tableview。其他图像视图名称为 img_Player2、img_Player3、img_Player4、img_Player5。

有人可以帮忙吗?

谢谢

我想要实现的屏幕

就是我想要实现的目标:

而此刻我有这个

4

1 回答 1

0

您需要将 的添加UIImageViews到. 假设您的 5 张图片加载到被调用的. 为简单起见,我假设您的每个图像都是 64 (320/5) 像素宽和 44 像素高。contentViewUITableViewCellNSArrayimagesArray

你里面的代码cellForRowAtIndexPath应该大致是这样的:

float xCoord = 0.0;
for (UIImageView *imgView in imagesArray)
{
    [imgView setFrame:CGRectMake(xCoord,0,imgView.frame.size.width, imgView.frame.size.height)];
    [cell.contentView addSubview:imgView];
    xCoord += imgView.frame.size.width;
}

您的代码将是这样的:

float xCoord = 0.0;

for(int i=0;i<5;i++)
{
    Team *team = [self.fetchedResultsController objectAtIndexPath:indexPath];
    NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:team.image]];
    UIImageView* imgView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:imageData]];
    [imgView setFrame:CGRectMake(xCoord,0,imgView.frame.size.width, imgView.frame.size.height)];
    [cell.contentView addSubview:imgView];
    xCoord += imgView.frame.size.width;
}
于 2012-10-09T19:42:12.980 回答