自定义 CollectionView Cell PrepareForSegue
Custom CollectionView Cell PrepareForSegue
我有一个自定义的 UICollection 视图单元格。该单元格的 属性 之一是 cellImageView
。当用户选择一个单元格时,我想将图像从该视图 (cellImageView.image
) 传递到下一个视图。这是我尝试过的:
if let indexPath = self.collectionView?.indexPathForCell(sender as! UICollectionViewCell)
{
if segue.identifier == "show"
{
var segue = segue.destinationViewController as! ViewPhoto
segue.imageURL = URLToPass
}
}
但很快意识到走错了路。执行此操作的最佳方法是什么?提前致谢。
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
if let cell = self.collectionView.cellForItemAtIndexPath(indexPath) as? GalleryClass
{
let imageToPass = cell.cellImageView.image
self.performSegueWithIdentifier(mySegue, sender: imageToPass)
}
}
并且在您的 prepareForSegue 函数中:
if segue.identifier == "show"
{
var segue = segue.destinationViewController as! ViewPhoto
// segue.imageURL = URLToPass
segue.image = sender as! UIImage
}
这样您就可以将包含 CollectionView 内容的代码保留在自己的委托方法中,如果您将来必须更改它,这样更容易维护。而且您只在 prepareForSegue 函数中传递您实际需要的数据。
我有一个自定义的 UICollection 视图单元格。该单元格的 属性 之一是 cellImageView
。当用户选择一个单元格时,我想将图像从该视图 (cellImageView.image
) 传递到下一个视图。这是我尝试过的:
if let indexPath = self.collectionView?.indexPathForCell(sender as! UICollectionViewCell)
{
if segue.identifier == "show"
{
var segue = segue.destinationViewController as! ViewPhoto
segue.imageURL = URLToPass
}
}
但很快意识到走错了路。执行此操作的最佳方法是什么?提前致谢。
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
{
if let cell = self.collectionView.cellForItemAtIndexPath(indexPath) as? GalleryClass
{
let imageToPass = cell.cellImageView.image
self.performSegueWithIdentifier(mySegue, sender: imageToPass)
}
}
并且在您的 prepareForSegue 函数中:
if segue.identifier == "show"
{
var segue = segue.destinationViewController as! ViewPhoto
// segue.imageURL = URLToPass
segue.image = sender as! UIImage
}
这样您就可以将包含 CollectionView 内容的代码保留在自己的委托方法中,如果您将来必须更改它,这样更容易维护。而且您只在 prepareForSegue 函数中传递您实际需要的数据。