如何在tableview中加载不同的自定义单元格

时间:2014-11-11 11:01:21

标签: ios iphone uitableview custom-cell

我在表格视图中遇到多个自定义单元格的问题。对于不同的定制单元,我使用了不同的单元标识符但是当我向上滚动表格后,单元格内容会显示。 查看第一张图片enter image description here

向上滚动剪切单元格后显示enter image description here

单元格高度取决于字符串。使用代码而不是来自nib文件创建的两个单元格。

请帮帮我。给我一些示例,说明如何将不同的自定义单元格处理成一个tableview。 谢谢。

1 个答案:

答案 0 :(得分:0)

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

所以你应该写一些条件,你将描述用于单元格的巫婆类,例如我使用indexPath.row的数字,这意味着从顶部开始的行数(当你写入条件indexPath时)。 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 
}

但您必须为您的单元格制作不同的类,以满足您对每个单元格的要求。 希望它有所帮助。