在UICollectionView中未正确呈现UIView渐变颜色

问题描述 投票:0回答:1

我有一个自定义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]
}
ios swift uiview uicollectionviewcell
1个回答
0
投票
draw(_ rect: CGRect)

试试这个方法。

© www.soinside.com 2019 - 2024. All rights reserved.