J'ai un UICollectionView
dont les éléments contiennent un imageview
sur lequel j'applique CIFilters. Il y a donc environ 12 éléments qui sont générés, mais lorsque je fais défiler les éléments dans la vue de la collection, il y a un petit problème lorsque le nouvel élément est généré. Existe-t-il un moyen de configurer les éléments de UICollectionView
sans ce délai.
Actuellement, j'applique des filtres dans cellForItemAtIndexPath
de la méthode déléguée de UICollectionView
.
// filters array
let arrayOfCIFilters = ["CIBumpDistortionLinear","CIPixellate","CISepiaTone","CITwirlDistortion","CIUnsharpMask","CIVignette","CIPhotoEffectNoir","CIColorInvert","CIMotionBlur","CIColorClamp","CIToneCurve","CIColorPosterize","CICircularScreen"]
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("c1", forIndexPath: indexPath) as! filterImagesCollectionViewCell
let ciImage = CIImage(image:originalImage)
ciFilter = CIFilter(name: arrayOfCIFilters[indexPath.row])!
ciFilter.setValue(ciImage, forKey: kCIInputImageKey)
cell.imageVIew.image = UIImage(CGImage: ciContext.createCGImage(ciFilter.outputImage!, fromRect: ciFilter.outputImage!.extent))
cell.nameLabel.text = arrayOfCIFilters[indexPath.row]
return cell
}