2016-05-08 3 views
0

У меня есть UICollectionView с 2 разделами. Я хочу выбрать ячейку, когда пользователь на нее нажимает.Swift collectionView select cell multiple selection

Мой код работает правильно каждый раз, когда пользователь нажимает на ячейку, ячейка становится меньше, и в ней появляется галочка (это imageView, который я добавляю в качестве поднабора ячейки). Проблема в том, что если я коснусь ячейки в первом разделе, она выбирает другую ячейку во втором разделе. Это странно, поскольку я использую indexPath.

Это мой код:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { 
    // handle tap events    

    let cell = collectionView.cellForItemAtIndexPath(indexPath) 
    let centerCell = cell?.center 

    if cell!.frame.size.width == cellWidth { 
     cell?.frame.size.width = (cell?.frame.size.width)!/1.12 
     cell?.frame.size.height = (cell?.frame.size.height)!/1.12 
     cell?.center = centerCell! 

     let imageView = UIImageView() 
     imageView.image = MaterialIcon.check?.imageWithColor(MaterialColor.white) 
     imageView.backgroundColor = MaterialColor.blue.accent2 
     imageView.frame = CGRectMake(1, 1, 20, 20) 
     imageView.layer.cornerRadius = imageView.frame.height/2 
     imageView.clipsToBounds = true 
     if indexPath.section == 0 { 
      imageView.tag = indexPath.row+4000 
     } else { 
      imageView.tag = indexPath.row+5000 
     } 
     print("IMAGEVIEW TAG: ",imageView.tag) 
     cell?.addSubview(imageView)     
    } 
} 

ответ

3

Обязательно иметь многократное свойство выбора на CollectionView установлена ​​true в вашем viewDidLoad() или в раскадровке

collectionView?.allowsMultipleSelection = true 
+2

да, это не значит, что проблема .. проблема в том, что другие ячейки будут выбирать – Marcoc