2016-10-01 5 views
1

У меня есть один UICollectionView в контроллере просмотра, мне нужно, когда я нажимаю на UICollectionViewCell, увеличьте фотографию ячейки, а затем откройте новый контроллер для отображения содержимого книги.Когда нажмите на UIcollectionviewcell, увеличьте изображение на ячейке и откройте новый контроллер вида

Вы можете увидеть изображение ниже, это книжная полка, когда вы нажимаете на книги, а затем фотографируете книгу, а затем открываете содержимое книги в новом контроллере.

enter image description here

+0

У вас нет демо? –

ответ

0

Попробуйте этот код для масштабирования Cell и вид передачи .. EventlistCollection мой CollectionView ..

var extraview : UIView = UIView() 



func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath){ 

     self.animateZoomforCell(DemoCollectionview.cellForItemAtIndexPath(indexPath)!) 
     extraview = UIView.init(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)) 
     extraview.backgroundColor = UIColor.clearColor() 
     extraview.addSubview(DemoCollectionview.cellForItemAtIndexPath(indexPath)!) 
     self.view.addSubview(extraview) 
} 



func animateZoomforCell(zoomCell: UICollectionViewCell) { 
     UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseOut, animations: {() -> Void in 
      let x = zoomCell.frame.size.width/2 
      let y = zoomCell.frame.size.height/1.5 
      zoomCell.transform = CGAffineTransformMakeScale(x, y) 
      }, completion: {(finished: Bool) -> Void in 

       self.animateZoomforCellremove(zoomCell) 
}) 
    } 
func animateZoomforCellremove(zoomCell: UICollectionViewCell) { 
     UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseOut, animations: {() -> Void in 
      zoomCell.transform = CGAffineTransformMakeScale(1.0, 1.0) 
      }, completion: {(finished: Bool) -> Void in 

       self.extraview.removeFromSuperview() 
       self.DemoCollectionview.reloadData() 

     }) 
    } 

Этот код поможет вам, пожалуйста, дайте мне голосовать. Спасибо.

+0

Но мне нужно полноэкранное увеличение, а затем открыть контроллер вида –

+0

@ ZanaMustafa в этой коллекции didselectItemAtIndexПереход вашего сотового масштабирования и после масштабирования ячейки ваш контроллер может перемещать следующий контроллер представления деталей. так что вам нужно больше? –

+0

Масштабируемая ячейка находится только в области uicollection, а не в полноэкранном режиме, или вы можете создать простой проект? –