I have a UICollectionview in my UIViewController. On scroll collection view is not reusing cell. You can see numberOfItemsInSection method;
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 7
}
And this is the collectionViewLayout method;
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
if(collectionView == mainCollectionView){
switch(indexPath.row){
case 0:
return CGSize(width: self.view.frame.width, height: self.view.frame.height * 0.20)
case 1:
return CGSize(width: (self.view.frame.width * 0.5) - 3, height: self.view.frame.height * 0.2)
case 2:
return CGSize(width: (self.view.frame.width * 0.5), height: self.view.frame.height * 0.2)
case 3:
return CGSize(width: self.view.frame.width, height: self.view.frame.height * 0.2)
case 4:
return CGSize(width: (self.view.frame.width * 0.6) - 3, height: self.view.frame.height * 0.2)
case 5:
return CGSize(width: (self.view.frame.width * 0.4), height: self.view.frame.height * 0.2)
case 6:
return CGSize(width: (self.view.frame.width), height: self.view.frame.height * 0.2)
default:
return CGSize(width: 0, height: 0)
}
}
}
The last one is cellForRowAtIndexPath method:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
if(collectionView == mainCollectionView){
var cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! MainCollectionViewCell
switch(indexPath.row){
case 0:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = true
cell.placeLabel.hidden = true
cell.lineView.hidden = false
case 1:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = true
cell.placeLabel.hidden = true
cell.lineView.hidden = false
case 2:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = false
cell.placeLabel.hidden = true
cell.lineView.hidden = false
case 3:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = true
cell.placeLabel.hidden = true
case 4:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = true
cell.placeLabel.hidden = true
cell.lineView.hidden = false
case 5:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = false
cell.placeLabel.hidden = true
cell.lineView.hidden = false
case 6:
cell.imageView.image = UIImage(named: imageArray[indexPath.row])
cell.clockIconImageView.hidden = true
cell.pinIconImageView.hidden = true
cell.placeLabel.hidden = true
cell.lineView.hidden = false
default:
break
}
return cell
}
Also you can see the output:
I have added a breakpoint to case6 bot it is not entering that case. Any help would be wonderful.