2015-02-08 158 views
0

我在cellForItemAtIndexPath內部實現了單元格內容,只是在內部添加了UIImageView以及繪製和居中的圖像,它看起來不錯,直到我滾動收藏視圖!!!看圖片!UICollectionViewCell滾動內容問題

// ...........cell content setup 

      switch indexPath.row { 

      case 0: 
       cell.alpha = 0.0 
      case 1: 
       // ...........drawing singular on cell content view 

       var cellImageView = UIImageView(frame: CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)) 
       cellImageView.image = MyStyles.imageOfSingular(frame: CGRectMake(0, 0, 50.5, 50.5)) 
       cellImageView.contentMode = UIViewContentMode.Center 
       cell.backgroundView = cellImageView 

       // ........... 

Befor i scroll collection After scrolling there is an image appearing on cell indexPath 3 你可以看到滾動之後有出現在細胞indexPath 3圖像我並不需要它有! 我不知道該如何處理! SOS

最終的圖片看起來像這樣

final pic

但滾動後,它看起來像這樣

enter image description here 我處理文本複製這樣:

// ...........title setup and check if cellTitle exists to avoid title overlaping 

     let cellTitle = UILabel(frame: CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)) 

     for cellTitle in cell.contentView.subviews { 

      if (cellTitle.isKindOfClass(UILabel)) { 

       cellTitle.removeFromSuperview() 
      } 
     } 

不過不要不知道如何處理圖像!

+0

你知道單元格在你滾動時被重用嗎?做一個細胞重用的搜索,你應該找到一些答案。 – rdelmar 2015-02-08 20:59:58

+0

交換機的用途是什麼?你爲什麼不設置圖像? – CaptJak 2015-02-08 21:07:09

+0

是的,我瞭解細胞再利用! – Ruso 2015-02-08 21:34:58

回答

0

我只是想通了!標籤是contentView的子視圖,但不是backgroundView !!!所以,而不是cell.contentView.subviews我只是循環在cell.subviews和我的圖像只是盯着他們在哪裏,並沒有填充其他單元格滾動因爲可重用的單元格!

for cellImageView in cell.subviews { 

      if (cellImageView.isKindOfClass(UIImageView)) { 

       cellImageView.removeFromSuperview() 
      } 
     }