SWIFT 3:如何在UITableViewController中向列添加标题?

时间:2017-03-15 16:37:47

标签: ios swift uitableview swift3

我的应用程序中有一个TableView,其中包含3个列(日期,名称和数量),其值从Core数据中获取。我可以在我的应用程序中显示这些值。

现在我想为每个不向下滚动列表的列提供固定的标题名称。但我没有办法在表格列表中添加多个标题。

任何人都有同样的想法吗?

已实施方法。

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        let view = UIView()
        let label = UILabel()

        switch section {
        case 0:
            label.text="Date"
        case 1:
            label.text="Name"
        case 2:
            label.text="Amount"
        default:
            print()
        }

        view.addSubview(label)

        return view
    }

添加我的表格视图的屏幕截图。

enter image description here

4 个答案:

答案 0 :(得分:1)

使用tableview部分,使用以下方法传递自定义部分标题

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

答案 1 :(得分:0)

你正在做的只是在viewForHeaderInSection中为标签和视图设置CGRect,你可以设置headerSection的高度

public override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 61.0
}

答案 2 :(得分:0)

  

但我没有办法将多个标题添加到我的表格列表中

正确。你也不会有多个专栏;你有一个列,每行有三个东西。同样,您需要创建一个连续三件事的节标题。换句话说,您的table​View(_:​view​For​Header​In​Section:​)实施需要并排返回包含三个标签的视图,并说明"日期","名称"和"金额",正如您的单元格并排包含三个标签。

enter image description here

答案 3 :(得分:0)

最后我设法找到了解决方案。它是关于在原型顶部添加View部分。然后为该视图添加标签/列名称。它会工作。无需在TableViewController类中进行任何更改。