Цвет градиента UIView неправильно отображается в UICollectionView - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть пользовательский UICollectionViewCell, и проблема, с которой я сталкиваюсь, заключается в отображении пользовательского интерфейса сразу после загрузки ячейки.На приведенном ниже снимке экрана видно, что первая ячейка правильно загружает dimView (имеет градиентный цвет фона), но любая другая ячейка - нет.

enter image description here

Стоит упомянуть, что этот вид виден, когда пользователь проводит пальцем по ячейке влево или вправо (он создает иллюзию, когда скрывает изображение ипоказывает это представление).

Если ячейка используется повторно, она отображается правильно, но не при первоначальной загрузке.Есть ли другой метод, где я должен вызвать эту функцию showDimViewAndCheckmark() ??

@IBOutlet weak var backView: UIView!

override func awakeFromNib() {
    super.awakeFromNib()
    setUI()
}

override func layoutSubviews() {
    super.layoutSubviews()
    setUI()
}

override func prepareForReuse() {
    super.prepareForReuse()
    setUI()
}

 func setUI() {
    coverImageView.clipsToBounds = true
    backView.setGradientBackground(colorOne: Colors.purpleDarker, colorTwo: Colors.purpleLight)
    backView.layer.maskedCorners =  [.layerMaxXMinYCorner, .layerMaxXMaxYCorner]

    layer.shadowColor = UIColor.lightGray.cgColor
    layer.shadowOffset = CGSize(width:1, height: 1)
    layer.shadowRadius = 2.0
    layer.shadowOpacity = 1.0
    layer.masksToBounds = false

    contentView.clipsToBounds = true
    contentView.layer.cornerRadius = 10
    contentView.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMaxXMaxYCorner]
}

1 Ответ

0 голосов
/ 26 февраля 2019
draw(_ rect: CGRect)

Попробуйте этот метод.

...