我有一个自定义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]
}
答案 0 :(得分:0)
draw(_ rect: CGRect)
尝试此方法。