【发布时间】:2020-05-15 08:23:27
【问题描述】:
我希望能够将表格视图中的所有分隔符插入一定数量。此表视图需要每个部分的自定义标题。有关所需插图,请参见下图:
我的故事板已设置好,因此我有一个 UIViewController,其中包含一个容器 UIView,而该容器又具有一个 UITableView 的嵌入 segue。我的表格视图指定了一个原型单元格,我在情节提要中设置了一个分组样式,默认分隔符,自动插入。
在情节提要中的表格视图单元格中,左侧有一个自定义分隔符插入 26。
在我的表格视图控制器中,我实现了以下两种方法:
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "ItemHeader") as! TableSectionHeaderViewCell
header.title.text = "My Custom Date Header"
return header
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 60.0
}
在一个单独的文件中,我将 UITableViewHeaderFooterView 子类化为只设置字体、文本颜色和一些约束。
现在,如果我在表格视图级别的故事板上设置了一个自定义分隔符插图,从左侧开始 26 个插图,无论是从单元边缘还是从自动插图,我的每个标题下方出现的分隔符都没有任何变化。同样,如果我在表格视图控制器的viewDidLoad 方法中以编程方式设置这些值,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableView.automaticDimension
tableView.register(TableSectionHeaderViewCell.self, forHeaderFooterViewReuseIdentifier: "ItemHeader")
tableView.separatorInset = UIEdgeInsets(top: 0, left: 26, bottom: 0, right: 0)
tableView.separatorStyle = .singleLine
tableView.separatorInsetReference = .fromCellEdges
}
分隔符插入没有任何变化,即使使用.fromAutomaticInsets 选项作为分隔符插入引用也是如此。这是我实际看到的:
似乎一个部分中的第一个和最后一个单元格实际上不尊重分隔符插入。我最初认为这是一个与每个分组部分都有一个标题有关的问题,但最后一个单元格上没有标题的分隔符似乎表明不是这样。我怎样才能使这些分隔符全部插入 26pts?感谢您提供的任何见解。
【问题讨论】:
标签: ios swift storyboard ios13