使用Swift

时间:2016-11-07 17:34:47

标签: ios swift uitableview

我需要为我的tableview制作一个自定义标题。为此,我创建了一个UITableViewHeaderFooterView类的类,但我无法在故事板上选择tableview的标题来设置类。如果它是一个静态表头,但它对动态表不可见。我该如何进行此设置?

注意:我使用xcode 7.3.1

我试图做这样的事情,但故事板: https://github.com/jeantimex/ios-swift-collapsible-table-section

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let header = tableView.dequeueReusableHeaderFooterViewWithIdentifier("header") as! NovaListaTableViewHeader


    header.titleLabel.text = sections[section].name
    header.arrowLabel.text = ">"
    header.setCollapsed(sections[section].collapsed)

    header.section = section
    header.delegate = self

    return header
}

1 个答案:

答案 0 :(得分:5)

有几种方法可以做到这一点。大多数是通过编程方式完成的,有些是通过故事板和程序实现的。

所以它完全取决于你如何实现它。

我可以与您分享最简单的方法来自定义页眉和页脚部分。

如果您对故事板有很好的控制权,请尝试创建一个

UITableViewCell 

现在根据需要装饰它,并在标识符名称中,SectionHeader现在将其用作重用单元格

之后使用此委托方法,我正在共享一个目标C委托,

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


var headerView: SectionHeaderTableViewCell? = tableView.dequeueReusableCellWithIdentifier("SectionHeader")
  if (headerView == nil) {
    headerView = SectionHeaderTableViewCell(style:UITableViewCellStyle.Subtitle, reuseIdentifier:"SectionHeader")
  }
  headerView!.textLabel!.text = "Hello World"


            return headerView;

        }

现在为页脚做同样的事情。