Я создаю собственный вид заголовка для моего UITableView, который имеет две горизонтальные линии вверх и вниз и UILabel между ними.
let lineWidth = tableView.bounds.width //This is not correct, will never align with UITableViewCell
let offset = (tableView.bounds.width - lineWidth)/2 //This will always yield 0, but my question is to compute line width that aligns with UITableViewCell as shown in the image attached to this question.
let topLine = UIView(frame: CGRect(x: offset, y: 0, width: lineWidth, height: 1))
topLine.backgroundColor = UIColor.white
let bottomLine = UIView(frame: CGRect(x: offset, y: 49.0, width: lineWidth, height: 1))
bottomLine.backgroundColor = UIColor.white
let label = UILabel(frame: CGRect(x: 0, y: 1.0, width: tableView.bounds.width, height: 48.0))
label.textColor = UIColor.white
let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.width, height: 50))
headerView.addSubview(topLine)
headerView.addSubview(label)
headerView.addSubview(bottomLine)
Проблема: мне нужно, чтобы верхняя и нижняя линии были выровнены с границами UITableViewCellв разделе, как показано на рисунке ниже.То, что я получаю с кодом выше, это горизонтальные линии, которые покрывают всю ширину UITableView.Как мне этого добиться?
РЕДАКТИРОВАТЬ: Некоторые ответы здесь описывают произвольное значение смещения, но суть проблемы заключается в том, как вычислить смещение, которое выравнивается с границами UITableViewCell в разделе?Другими словами, мне нужна точная ширина UITableViewCell, которые входят в раздел.