Тонкий разрыв между UITableViewCell виден, даже если я установил TableView.separatorStyle = .none - PullRequest
0 голосов
/ 15 января 2019

Мне нужно сгруппировать верхний и нижний колонтитулы, ячейку и нижний колонтитул в тени, поэтому создайте виды контейнеров и задайте тень для этих подпредставлений, но между ними видна тонкая линия, даже если я установил TableView.separatorStyle = .none

Пожалуйста, смотрите ниже изображение для того же: enter image description here

Ниже приведен метод создания тени на видах

class ShadowView: UIView {
    override var bounds: CGRect {
        didSet {
            setupShadow()
        }
    }

    private func setupShadow() {
        self.layer.masksToBounds = false
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.shadowOpacity = 2.2
        self.layer.shadowOffset = CGSize(width: -1, height: 1)
        self.layer.shadowRadius = 3

        self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
        self.layer.shouldRasterize = true

        self.layer.rasterizationScale = UIScreen.main.scale
    }
}

1 Ответ

0 голосов
/ 21 января 2019

Пожалуйста, попробуйте это:

Добавьте тень к tableViewCell не каждый view из cell.

если вы хотите global method, пожалуйста, напишите это:

extension UIView {

func addShadow(cornerRadius: CGFloat, opacity: Float, radius: CGFloat, offset: (x: CGFloat, y: CGFloat)){
    self.clipsToBounds = true
    self.layer.cornerRadius = cornerRadius
    self.layer.masksToBounds = false
    self.layer.shadowColor = UIColor.gray.cgColor
    self.layer.shadowOpacity = opacity
    self.layer.shadowOffset = CGSize(width: offset.x, height: offset.y)
    self.layer.shadowRadius = radius
}

}

тогда в вашем tableViewCell классе, пожалуйста, назовите этот метод как:

 override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    self.addShadow(cornerRadius: 8, opacity: 1, radius: 5, offset: (x: 0, y: 0))
 }

Измените значение в соответствии с вашими требованиями.

Это может вам помочь. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...