UICollectionView中的UIView渐变颜色无法正确呈现

时间:2019-02-26 08:35:03

标签: ios swift uiview uicollectionviewcell

我有一个自定义UICollectionViewCell,并且我面临的问题是在加载单元格后立即呈现UI。您可以从下面的屏幕截图中看到,第一个单元格正确加载了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 :(得分:0)

draw(_ rect: CGRect)

尝试此方法。