UICollectionView 中的 UIView 渐变颜色未正确呈现
Posted
技术标签:
【中文标题】UICollectionView 中的 UIView 渐变颜色未正确呈现【英文标题】:UIView gradient color not rendered properly in UICollectionView 【发布时间】:2019-02-26 08:35:03 【问题描述】:我有一个自定义UICollectionViewCell
,我面临的问题是在加载单元格后立即渲染 UI。您可以从下面的屏幕截图中看到,第一个单元格正确加载了dimView
(它具有渐变背景颜色),但任何其他单元格都没有。
值得一提的是,一旦用户向左或向右滑动单元格,该视图就可见(它会产生一种翻转错觉,即隐藏图像并显示该视图)。
如果单元格被重用,它会正确呈现,但不是在最初加载时。是否有另一种方法可以调用此函数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]
【问题讨论】:
在 layoutSubviews() 中调用你的函数 我试过了,真的没有效果 【参考方案1】:draw(_ rect: CGRect)
试试这个方法。
【讨论】:
以上是关于UICollectionView 中的 UIView 渐变颜色未正确呈现的主要内容,如果未能解决你的问题,请参考以下文章
UITableviewCell 中的 UICollectionView。添加约束后,UICollectionView 不显示
UICollectionView 中的 UILabel 重载