Проблема с переиспользование View в ячейки


#1

Друзья, всем привет! Определил, что у меня периспользуется View в ячейке коллекции. Нагуглил, что можно использовать метод prepareForReuse(), но не понимаю, что можно в него прописать?

Проблема такая:
При скролле отображаются закругленная вьюшка, при давнейшим скролле отображается тяже самая вьюшка, но уже не закругленная.


#3

Закругление вы где делаете?


#4

В ячейке коллекции.

class ContentCollectionViewCell: UICollectionViewCell {

let posterImage: UIImageView = {
   let image = UIImageView()
    image.contentMode = .scaleAspectFill
    image.clipsToBounds = true
    image.translatesAutoresizingMaskIntoConstraints = false
    return image
}()

 let titleName: UILabel = {
   let label = UILabel()
    label.translatesAutoresizingMaskIntoConstraints = false
    return label
}()

var ratingView: UIView = {
   let view = UIView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.backgroundColor = .red
    view.layer.borderWidth = 2
    view.layer.borderColor = UIColor(ciColor: .white).cgColor
    return view
}()

override init(frame: CGRect) {
    super.init(frame: frame)
    contentView.addSubview(posterImage)
    posterImage.addSubview(ratingView)
    
}

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

override func layoutSubviews() {
    super.layoutSubviews()
    setConstraints()
    ratingView.layer.cornerRadius = ratingView.frame.height / 2
}

#5

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


#6

Спасибо, ваш совет сработал!)