如何以编程方式在两个ViewControllers之间共享UIImage?

时间:2015-09-04 20:47:35

标签: ios xcode swift uiimageview uicollectionviewcell

我正在使用此自定义collectionView转换:

选择单元格后,单元格中的UIImage会动画化,无缝转换为UIImageView中的detailViewController,如此link中的GIF所示。

但问题是,UIImage detailViewController中的UIImageView是硬编码的,并且对于{{1}中的每个选定单元格都是相同的}}。我的UICollectionView内有不同的图片,这显然是一个问题,因此我需要以某种方式以编程方式使我的collectionViewCell detailViewController图像相等转换完成后,所选collectionViewCell UIImageView图像的图像。

以下是我用来尝试实现此目的的代码:

UIImageView

我添加了一个类型为class DetailViewController: UIViewController, ARNImageTransitionZoomable { @IBOutlet weak var imageView: UIImageView! var selectedCell = MasterCollectionViewController() deinit { println("deinit DetailViewController") } override func viewDidLoad() { super.viewDidLoad() imageView.layer.cornerRadius = 3.0 imageView.clipsToBounds = true } // MARK: - ARNImageTransitionZoomable func createTransitionImageView() -> UIImageView { var imageView = UIImageView(image: self.imageView.image) imageView.contentMode = self.imageView.contentMode imageView.clipsToBounds = true imageView.userInteractionEnabled = false imageView.frame = self.imageView!.frame return imageView } func presentationBeforeAction() { self.imageView.hidden = true } func presentationCompletionAction(completeTransition: Bool) { self.imageView.hidden = false self.imageView.image = selectedCell.selectedImageView?.image } func dismissalBeforeAction() { self.imageView.hidden = true } func dismissalCompletionAction(completeTransition: Bool) { if !completeTransition { self.imageView.hidden = false } } } 的变量"selectedCell",让我引用该类中的所有内容。

然后在动画/过渡完成时,我尝试将所选单元格的UIImage设置为我的detailViewController的UIImageView图像的行

MasterCollectionViewController()

这没有用,当转换完成时,UIImageView只是白色而没有图像,就像它在我的故事板上一样。有人知道我可以实施的任何方法吗?

0 个答案:

没有答案