Неровные капли на округлых видах - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть ячейка коллекции, к которой у меня есть контейнер UIView (), который находится на некотором расстоянии от суперпредставления.Окно контейнера округлено, и я пытаюсь нанести на него тень.Я добиваюсь этого довольно тонко, пока на некоторых клетках он не разрушит слой тени и не создаст эффект неравномерной тени.Ниже приведен текущий результат .: enter image description here

Ниже приведен мой код:

extension UIView() {
    func dropShadow(color: UIColor, opacity: Float = 0.5, offSet: CGSize, radius: CGFloat = 1, scale: Bool = true) {
    self.layer.masksToBounds = false
    self.layer.shadowColor = color.cgColor
    self.layer.shadowOpacity = opacity
    self.layer.shadowOffset = offSet
    self.layer.shadowRadius = radius

    self.layer.shadowPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: radius).cgPath
    self.layer.shouldRasterize = true
    self.layer.rasterizationScale = scale ? UIScreen.main.scale : 1
    }
}

Ниже приведен UICollectionViewCell.swift

override func layoutSubviews() {
    super.layoutSubviews()
    containerView.dropShadow(color: .lightGray, opacity: 6, offSet: CGSize(width: 0, height: 0), radius: 6, scale: true)
}

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 30 декабря 2018

Я использовал тень в представлении внутри ячейки коллекции.Пожалуйста, смотрите ниже ссылку

Посмотреть образец

Это внутри cellforItem

myCell.imgIcon.backgroundColor = UIColor.white
myCell.imgIcon.layer.shadowColor = UIColor.lightGray.cgColor
myCell.imgIcon.layer.shadowOpacity = 0.5
myCell.imgIcon.layer.shadowOffset = CGSize(width: 0, height: 0)
myCell.imgIcon.layer.shadowRadius = 5
...