gpt4 book ai didi

ios - 动态添加多个图像到 TableView

转载 作者:行者123 更新时间:2023-11-28 20:36:19 24 4
gpt4 key购买 nike

我已经开始了 IOS 开发,并且正在进行我的第一个客户项目。

我卡在了以下地方:

所以如果这个月有10个人生日,我需要在一行中显示10个imageviews(3张图片,3张图片和1张图片)。

有人可以帮我解决以上问题吗?将不胜感激。

最佳答案

如果你想在 tableview 中添加图像/标签/按钮,那么最简单的方法是子类化 UITableViewCell。例如,如果你有 5 张图像(没看懂 3 张图片,3 张图片和 1 张图片)并且你想将它们显示在表格行中,然后您可以执行以下操作:

  1. 在您的项目中添加一个名为 CustomCell 的新文件,它应该是 UITableviewCell 的子类,如下所示:

    @interface CustomCell : UITableViewCell {  

    UIImageView *imageView1;
    UIImageView *imageView2;
    UIImageView *imageView3;
    UIImageView *imageView4;
    UIImageView *imageView5;
    }
    @property (nonatomic, retain) UIImageView *imageView1;
    @property (nonatomic, retain) UIImageView *imageView2;
    @property (nonatomic, retain) UIImageView *imageView3;
    @property (nonatomic, retain) UIImageView *imageView4;
    @property (nonatomic, retain) UIImageView *imageView5;
    @end
  2. 然后在 CustomCell.m 中放置如下代码:

    @synthesize imageView1, imageView2, imageView3, imageView4, imageView5;
    - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
    {
    if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
    {
    self.imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(10, 8, 50, 45)];
    [self.contentView addSubview:imageView1];

    self.imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(65, 8, 50, 45)];
    [self.contentView addSubview:imageView2];

    self.imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(120, 8, 50, 45)];
    [self.contentView addSubview:imageView3];

    self.imageView4 = [[UIImageView alloc] initWithFrame:CGRectMake(170, 8, 50, 45)];
    [self.contentView addSubview:imageView4];

    self.imageView5 = [[UIImageView alloc] initWithFrame:CGRectMake(225, 8, 50, 45)];
    [self.contentView addSubview:imageView5];
    }

    return self;
    }

那么您已经完成了 UITableViewCell 的子类化。现在如何在您的 View Controller 中使用它们?
您必须在 View Controller 类中导入 CustomCell.h。并在 cellForRowAtIndexPath 委托(delegate)方法中执行如下操作:

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

//our custom cell
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

// Configure the cell.

//cell.imageView1.image = [UIImage imageNamed:@"testImg1"];
//cell.imageView2.image = [UIImage imageNamed:@"testImg2"];
//cell.imageView3.image = [UIImage imageNamed:@"testImg3"];
//cell.imageView4.image = [UIImage imageNamed:@"testImg4"];
//cell.imageView5.image = [UIImage imageNamed:@"testImg5"];
//return cell;

你可以使用更好的是:

    NSMutableArray *imgArray = [[NSMutableArray alloc] initWithObjects:cell.imageView1, cell.imageView2,cell.imageView3, cell.imageView4, cell.imageView5, nil];

for (int imageCounter = 0; imageCounter<5; imageCounter++) {
[[imgArray objectAtIndex:imageCounter] setImage:[UIImage imageNamed:[NSString stringWithFormat:@"testImg%d", imageCounter]]];
}
return cell;
}

这是针对您的问题上下文的原型(prototype)解决方案。
希望对你有帮助:)

关于ios - 动态添加多个图像到 TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com