【问题标题】:sections in table view [duplicate]表视图中的部分[重复]
【发布时间】:2019-06-07 15:34:27
【问题描述】:

我有一个包含 2 个原型单元格和 2 个自定义类的表格视图。 在第一个单元格中,我有一个图像视图,在第二个单元格中,我有一个标签。 这是我的代码,图像是结果: 我希望它是这样的:图像单元格 - 标签单元格 - 图像单元格 - 标签单元格

 var categories = ["first ","second", "third", "forth"]
var banners = ["close-envelope","chat"]

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if section == 0{
        return banners.count
    }else{
        return categories.count
    }
}
func numberOfSections(in tableView: UITableView) -> Int {
    return 2
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let bannerCell = tableView.dequeueReusableCell(withIdentifier: "bannerCell", for: indexPath) as! bannerCell
    let catCell = tableView.dequeueReusableCell(withIdentifier: "categoryCell", for: indexPath) as! categoryCell

    if indexPath.section == 0{
        bannerCell.banner.image = UIImage(named: banners[indexPath.row])
        return bannerCell
    }else{
        catCell.lbl.text = categories[indexPath.row]
        catCell.btn.setTitle(categories[indexPath.row], for: .normal)
        return catCell
    }
}


@IBOutlet weak var tableview:UITableView!

代码输出:

【问题讨论】:

  • @Sh_Khan 对不起我添加了
  • @Sh_Khan 请看图片,我不想要它,我想要它显示图像单元-标签单元-图像单元。但正如您在图片中看到的那样,它是图像单元 - 图像单元 - 标签单元
  • @Sh_Khan 如果我不需要 2 部分,我该如何实现?

标签: ios swift tableview


【解决方案1】:

您的表格视图实现包含两个部分,第一个具有显示图像的bannerCell 单元格,第二个具有显示图像的categoryCell 单元格标签。

部分总是一个接一个地呈现,所以如果你想要“图像单元 - 标签单元 - 图像单元”,你需要从 tableView: cellForRowAt: 返回正确的单元格。您可能应该只有一个部分并根据索引的行计算单元格类型和内容。

【讨论】:

  • 哦是的,然后就是一段代码:if indexPath.row % 2 == 0 { // image } else { // label }
  • @ZahraAsqarzade 确切地说,或者(如另一个答案所示,不幸的是似乎已被删除)您还可以使用比两个字符串数组更适合您的要求的数据模型。例如。一个enum,有两个案例bannercategory;拥有一个这样的数组将比两个单独的字符串数组更灵活。但是,当然,如果当前的解决方案适合您,那也很好:)
猜你喜欢
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
相关资源
最近更新 更多