如何在表格视图中加载不同的自定义单元格

Posted

技术标签:

【中文标题】如何在表格视图中加载不同的自定义单元格【英文标题】:How to load different custom cells in tableview 【发布时间】:2014-11-11 11:01:21 【问题描述】:

我在表格视图中遇到了多个自定义单元格的问题。对于不同的自定义单元格,我使用了不同的单元格标识符。但是当我向上滚动表格时,单元格内容在一段时间后可见。 见第一张图

向上滚动剪切单元格后正确显示

单元格高度取决于字符串。两个单元格都是使用非 nib 文件中的代码创建的。

请帮助我。给我一些例子来说明如何将不同的自定义单元格处理到一个 tableview 中。 谢谢。

【问题讨论】:

***.com/questions/14303832/… 【参考方案1】:

最简单的方法是在方法 cellForRowAtIndexPath 中针对不同的情况使用不同的自定义单元格。

所以你应该写一些条件来描述应该使用单元格的女巫类,例如我使用 indexPath.row 的编号,这意味着从顶部开始的行数(当你写条件 indexPath.row 时) row == 1 所以它基本上意味着 tableView 部分中的顶行或顶部单元格):

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

    switch indexPath.row 
    case 0:
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell1", forIndexPath: indexPath) as! FirstTableViewCell
    case 1:
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell2", forIndexPath: indexPath) as! SecondTableViewCell

    //case 2:
    //...  some other cases you need
    //case n:

    default:
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell3", forIndexPath: indexPath) as! ThirdTableViewCell
  
return cell 

但是您必须为您的单元格创建不同的类以满足您对每个单元格的要求。 希望对您有所帮助。

【讨论】:

以上是关于如何在表格视图中加载不同的自定义单元格的主要内容,如果未能解决你的问题,请参考以下文章

我想在单个表格视图中使用来自 nib 的两个不同的自定义单元格。两个原型电池具有不同的高度

以swift语言在自定义表格视图单元格中更新进度视图下载

表格视图中的自定义单元格未显示?

自定义 UITableview 单元格可访问性无法正常工作

无法将内容添加到 IB 视图控制器中的自定义表格视图单元格

表格视图单元格高度动态 + 从 .xib 加载