2016-11-24 3 views
0

У меня есть массив строк изображений, которые я вытаскиваю из Firebase. Я конвертирую эти изображения в массив NSURL, а затем загружаю эти URL-адреса в свой CollectionView, используя sdwebimage. Я получаю изображения, но постоянно продолжаю мерцание изображений. Где у меня проблема?Swift2 iOS- SDWebImage Мерцание в UICollectionView

@IBOutlet weak var collectionView: UICollectionView! 

//There are a maybe 2 or 3 strings inside here 
var imageStrings = [...]() 
var imageNSURLs:[NSURL] = [] 


override func viewDidLoad() { 
     super.viewDidLoad() 
     for imageString in self.imageStrings{ 
      let url = NSURL(string: imageString) 
      self.imageNSURLs.append(url) 
     } 

     self.collectionView.reloadData() 
    } 

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return self.imageNSURLs.count 
    } 

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
     let cell = self.collectionView.dequeueReusableCellWithReuseIdentifier("ImageCell", forIndexPath: indexPath) as! ImageCell 

     //This is the sdwebimage method I use: sd_setAnimationImagesWithURLs(arrayOfURLs: [AnyObject]!) 
     cell.imageView.sd_setAnimationImagesWithURLs(self.imageNSURLs) 

     return cell 
    } 

ответ

1

Вы используете sd_setAnimationImagesWithURLs в вашем cellForItemAtIndexPath

Если вы не хотите, чтобы затем использовать sd_setImageWithURL и вам нужно передать одного URL в то время для вашего пункта, как этот

cell.imageView.sd_setImageWithURL(imageNSURLs[indexPath.row]) 
+0

Спасибо, человек, это сработало. Сначала я использовал предложенный вами метод, но я не мог получить отдельные URL-адреса из массива. Я не думал использовать [indexPath.row]. Еще раз спасибо и счастливые праздники !!! –

Смежные вопросы