Я использую IGListKit с моим UICollectionView
.На данный момент CollectionView довольно прост, так как имеет только одну ячейку на раздел.Эта ячейка содержит внутреннюю горизонталь UICollectionView
в качестве слайд-шоу изображений.
Поскольку мне нужно немного затенять все мои разделы, я использую Декоративные виды и применяю к нему тень границы: layer.shadowPath
Я заметил что-то странное, непрозрачность тени меняется на изображение, отображаемое в данный момент в слайд-шоу.Если изображение (или его часть) является ярким, вы можете видеть изменение непрозрачности тени.
Я не знаю, можно ли это исправить.
Вы можете четкообратите внимание, что если я сделаю снимок экрана при перелистывании изображений в слайд-шоу, то тень на верхней стороне будет темнее с одной стороны.
Коддля художественного оформления:
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