在单个单元格中显示页眉页脚和单元格?

时间:2019-01-14 06:50:30

标签: ios swift header tableview footer

Screenshot to do task

请建议我可以在带有单元头单元格页脚和单元格的单卡内执行此操作。

2 个答案:

答案 0 :(得分:2)

请考虑到您的表格视图没有任何页眉和页脚。

  • 创建3种类型的单元格,即答案单元格,问题单元格和解决方案单元格。
  • 根据用户界面要求设计单元格。
  • 为问题,答案和解决方案单元格创建数据源。

在CellForRowAtIndexPath的TableView的Delegate方法中,实现以下代码。

  enum CellType : String {
       case answer
       case solution
       case question
 }

func tableView(_ tableView: UITableView,
                    cellForItemAt indexPath: IndexPath) -> UITableViewCell {


    let cellType = arrayDataSource[indexPath.item]

    switch cellType {

    case .answer:
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "answerCell",
                                                      for: indexPath) as! AnswerCell
        return cell

    case .solution:
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "solutionCell",
                                                      for: indexPath) as! SolutionCell
        return cell

    case .question:
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "questionCell",
                                                      for: indexPath) as! QuestionCell
       return cell

    }

}
  • 根据单元格类型创建数据源。

  • 在表视图的委托方法中管理一行的高度。使用iOS 9中引入的UITableViewAutomaticDimension。

以下链接可了解自动行高:

https://www.raywenderlich.com/8549-self-sizing-table-view-cells

答案 1 :(得分:1)

不要将它们视为页脚和页眉。只是单元的顶部,中间和底部。然后,您可以构建包含这三个部分的复杂视图。 您可以将其中3个实现为不同的自定义视图,并且该单元将只是所有这些视图的容器。