TableView, в ячейках которого есть тень - PullRequest
0 голосов
/ 09 мая 2020

Привет, у меня есть обычный TableView, и я хочу обновить его, чтобы он содержал пробелы / пробелы между каждой ячейкой в ​​TableView также с каждой стороны (вверх, вниз, влево, вправо)

Как вы можете видеть здесь: enter image description here

1 Ответ

4 голосов
/ 09 мая 2020

Прежде всего, вам нужно создать новый UITableViewCell, который имеет одно представление внутри contentView. Вам нужно сделать это представление, которое вы добавили, меньше, чем ваше представление, и заполнить, чтобы вы могли создавать промежутки между каждым tableviewCell.

Вот так:

enter image description here

Затем вы создаете ограничения, которые сделают вид меньше и поместятся внутри ячейки следующим образом:

enter image description here

После этого вы можете использовать это расширение для создания тени на виде:

{ ссылка }

Фрагмент кода выглядит примерно так:

extension UIView {

  // OUTPUT 1
  func dropShadow(scale: Bool = true) {
    layer.masksToBounds = false
    layer.shadowColor = UIColor.black.cgColor
    layer.shadowOpacity = 0.5
    layer.shadowOffset = CGSize(width: -1, height: 1)
    layer.shadowRadius = 1

    layer.shadowPath = UIBezierPath(rect: bounds).cgPath
    layer.shouldRasterize = true
    layer.rasterizationScale = scale ? UIScreen.main.scale : 1
  }

}

тогда вам просто нужно создать ссылку для вашего представления и в методе ячейки конфигурации вы вызываете

view.dropShadow()

результат будет выглядеть примерно так:

enter image description here

...