UICollectionViewCell несовместимая тень с представлением художественного оформления - PullRequest
0 голосов
/ 11 декабря 2018

Я использую IGListKit с моим UICollectionView.На данный момент CollectionView довольно прост, так как имеет только одну ячейку на раздел.Эта ячейка содержит внутреннюю горизонталь UICollectionView в качестве слайд-шоу изображений.

Поскольку мне нужно немного затенять все мои разделы, я использую Декоративные виды и применяю к нему тень границы: layer.shadowPath

Я заметил что-то странное, непрозрачность тени меняется на изображение, отображаемое в данный момент в слайд-шоу.Если изображение (или его часть) является ярким, вы можете видеть изменение непрозрачности тени.

Я не знаю, можно ли это исправить.

Вы можете четкообратите внимание, что если я сделаю снимок экрана при перелистывании изображений в слайд-шоу, то тень на верхней стороне будет темнее с одной стороны.

enter image description here

Коддля художественного оформления:

class FeedItemBackgroundShadowView: UICollectionReusableView {

    // MARK: Initialization

    ... Constructors calling setup

    // MARK: Setup

    override func layoutSubviews() {
        super.layoutSubviews()
        self.layer.shadowPath = UIBezierPath(roundedRect: self.bounds, cornerRadius: Constants.cornerRadius).cgPath
    }

    func setup() {
        self.layer.cornerRadius = 12.0
        self.layer.backgroundColor = UIColor.white.cgColor
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.shadowOffset = CGSize(width: 0.0, height: 2.5)
        self.layer.shadowRadius = 12.0
        self.layer.shadowOpacity = 0.35
}

Остальная часть кода представляет собой просто UICollectionViewCells, которые встраивают UICollectionView

1 Ответ

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

Вы уверены, что это не оптический обман?

enter image description here

...