Я использую UICollectionView в своем проекте, но он не рисует ячейки для повторно используемых. Думаю, что у меня 20 ячеек, когда приложение открыто, метод рисования вызывается 20 раз. Затем я изменяю количество ячеек на 30 и перезагружаю CollectionView, затем метод draw вызывается только 10 раз. Я хочу вызвать метод draw 30 раз, потому что я делаю некоторые операции (добавление изображений) в этом методе в ячейку.
Примечание : я тестировал в iphone 5s (ios 10.3.3)
Ниже класс GameCollectionViewCell используется в качестве пользовательской ячейки для CollectionView
extension GameCollectionViewCell {
override func draw(_ rect: CGRect) {
var princess : UIImageView = UIImageView(image: UIImage(named: "CategoryImages/"+card!.contentImage)?.withAlignmentRectInsets(UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0 )))
var size : CGSize = CGSize(width: rect.size.width-1.8, height: rect.size.height-1.8)
var origin : CGPoint = CGPoint(x: rect.origin.x+0.9, y: rect.origin.y+0.9)
var princessRect : CGRect = CGRect(origin: origin, size: size)
princess.frame = princessRect
princess.layer.masksToBounds = true
princess.layer.cornerRadius = 2;
contentView.addSubview(princess)
}
}