В моем UITableView
я хочу «» с разделителем-разделителем, в котором разделитель уменьшается на 30 пунктов слева и 30 справа. Мне удалось добиться того, что из интерфейса Builder задано свойство « Custom Insets» самого TableView, но я не могу воспроизвести это поведение по коду (и я должен сделать это таким образом).Установите пользовательские разделительные вставки на UITableViewCell
В частности, этот кусок кода:
self.tableView.separatorColor = .green
self.tableView.separatorStyle = .singleLine
self.tableView.separatorInset = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 30)
А также этот:
@objc(tableView:cellForRowAtIndexPath:) func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "recent_cell") as! TPExpandableTableViewCell
//setting cell insets
cell.separatorInset = separatorInset
cell.item = items[indexPath.row]
return cell
}
я получил следующий вывод на iPhone 6S Simulator:
Seem s, что представление содержимого разделителя становится сжатым, но представление фона разделителя не получает. Я также попытался удалить строку, которая устанавливает значение separatorInset ячейки, и результат был вставкой, равной UIEdgeInset.zero
Я могу подтвердить, что белая линия под зеленым цветом является видом, связанным с разделителем, потому что если я изменю разделительStyle до .none
, он исчезает
Любые помощь?
вам нужен один SuperView, который будет базой вид, цвет этой точки зрения будет зеленым согласно вашему требованию, а также ограничение для ведущего, trailling сверху , а внизу будет 0. Теперь добавьте subview в это базовое представление, которое будет иметь ограничения, такие как ведущий, trailing 0 и top, снизу до 1. –