我正在使用此自定义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只是白色而没有图像,就像它在我的故事板上一样。有人知道我可以实施的任何方法吗?