gpt4 book ai didi

swift - 具有 2 个部分的表格 View ,用于单元格的不同设计

转载 作者:可可西里 更新时间:2023-11-01 00:51:35 24 4
gpt4 key购买 nike

我需要 2 个在同一屏幕上有 2 个表(每个表的单元格设计不同)。

我不确定我是否应该在同一个 View 中使用 2 个表(滚动现在弄乱了)或者有一个包含 2 个部分的表并在每个部分中以不同的方式设计 de cells。

我还没有找到任何包含 2 个部分的表格 View 和 2 个部分中不同设计的单元格的示例。

这可能吗?

或者我应该尝试使用 2 个不同的表来解决这个问题吗?

最佳答案

I haven't managed to find any example with a table view with 2 sections and different design of cells in the 2 sections. Is it possible?

是的,这是可能的:)

这是您使用 UITableViewDataSource 协议(protocol)中的方法 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 的地方。

您检查要为哪个部分返回 UITableViewCell 的子类,创建一个实例,也许填充它,然后返回它。

因此,要使其正常工作,您需要。

  • 使用 NIB 文件创建 UITableViewCell 的多个子类。
  • 例如,在 viewDidLoad() 中,您可以像这样注册 NIB:

    tableView.registerNib(UINib(nibName: "Cell1", bundle: nil), forCellReuseIdentifier: "Cell1")
    tableView.registerNib(UINib(nibName: "Cell2", bundle: nil), forCellReuseIdentifier: "Cell2")
  • tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) 中,您检查请求哪个部分并像这样返回正确的子类(有改进的余地:-)):

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    switch indexPath.section {
    case 0:
    if let cell1 = tableView.dequeueReusableCellWithIdentifier("Cell1") as? Cell1 {
    //populate your cell here
    return cell1
    }
    case 1:
    if let cell2 = tableView.dequeueReusableCellWithIdentifier("Cell2") as? Cell2 {
    //populate your cell here
    return cell2
    }
    default:
    return UITableViewCell()
    }
    return UITableViewCell()
    }

希望对你有帮助

关于swift - 具有 2 个部分的表格 View ,用于单元格的不同设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36617906/

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