我正在创建静态tableView。我的目标是有一个单一视图,该视图显示具有3行(获取支持,发送反馈,参与条款)和页眉+页脚的tableView。
现在,除了我似乎无法摆脱的两个额外的分隔符(一个在标题和第一个单元格之间,另一个在最后一个单元格和页脚之间)之外,其他所有功能都正常工作。
这是我的代码:
final class viewController: UITableViewController {
private let headerContainer = UIView()
private let footerContainer = UIView()
private let tableData = ["Get Support", "Send Feedback", "Participation Terms"]
override func viewDidLoad() {
super.viewDidLoad()
setupHeaderAndFooter()
setupTableView()
}
func setupHeaderAndFooter() {
/* setup code here (not relevant to this question) */
func setupTableView() {
// reinitializing tableView so that we can change its style to grouped
tableView = UITableView(frame: CGRect.zero, style: .grouped)
tableView.delegate = self
tableView.separatorStyle = .singleLine
}
//MARK: UITableView Methods
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return headerContainer
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 150
}
override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return footerContainer
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 200
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 70
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: "cell")
cell.textLabel!.text = tableData[indexPath.row]
return cell
}
}
答案 0 :(得分:0)
一种实现此目的的方法是不使用UITableView
提供的默认分隔符。并放置一个UILabel
或UIView
并将其背景色设置为浅灰色,并将其高度设置为1(根据您的要求),宽度(完整的表格宽度或根据您的要求)并位于底部您在单元格,页眉或页脚中满足的所有内容。
答案 1 :(得分:0)
好,你去。
简单的技巧实际上是单线的,而且很容易解释:
self.tableView.separatorColor = self.tableView.backgroundColor
之后:
我希望这会有所帮助!
答案 2 :(得分:0)