При добавлении ячеек в мой UICollectionView с помощью cellForItemAtIndexPath я пытаюсь настроить таргетинг на первую ячейку и добавить цветное наложение к изображению в ячейке. Тем не менее, этот код, похоже, нацелен на несколько ячеек по мере их создания (хотя и не на всех), хотя он, похоже, не называется соответствующим количеством раз (он может применять наложение к 3 или 4 ячейкам, но только дважды вызывает его [ второй раз, когда вызывается reloadData()]). Как применить наложение цвета к первому и только к первой ячейке?Измените конкретную ячейку в uicollectionview
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! ProfileCollectionViewCell
if(self.userList.count > 0) {
cell.frame.size = CGSize(width: 202, height: 207)
if(indexPath.item < self.userList.count) {
cell.myImage.image = self.userList[indexPath.item].image
cell.myImage.layer.cornerRadius = cell.myImage.frame.size.width/2
cell.myImage.layer.masksToBounds = true
if(indexPath.item == 0) {
print("Overlay")
let circlePath = UIBezierPath(arcCenter: CGPoint(x: cell.frame.width/2, y: cell.frame.height/2), radius: CGFloat((cell.myImage?.frame.size.width)!/2), startAngle: CGFloat(0), endAngle: CGFloat(M_PI * 2), clockwise: true)
let shapeLayer = CAShapeLayer()
shapeLayer.path = circlePath.CGPath
shapeLayer.fillColor = self.overlayColor.CGColor
cell.layer.addSublayer(shapeLayer)
}
}
}
return cell
}
Thanks. Это сделало это и помогло мне разобраться в нескольких других проблемах, которые, как я полагал, были связаны. – Maniacbob