将图像传递给集合视图中的其他视图控制器didSelectItemAt

时间:2017-11-14 10:22:58

标签: swift3

我想为collection view中的图片实现array,当我在集合视图单元格中选择图片时,我应该带我到其他view controllerimage view在其中,应显示所选的放大图像。

选择项目时为此编写的代码应该是什么,以便所选图像将显示在另一个视图控制器中?

1 个答案:

答案 0 :(得分:0)

在您的collectionView委托函数DetailViewController中创建了一个imageView var selectedImage: String?(您喜欢的框架)和一个名为didSelectItemAt的变量必须实例化您的DetailViewController,在呈现它之前,您可以设置其选定的图像var。

示例:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let selectedImage: String = imagesArray[indexPath.row]

    let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let detailVC = storyboard.instantiateViewController(withIdentifier: "Your identifier") as? DetailViewController
    detailVC?.selectedImage = selectedImage
    //present or push your detailViewController
}

然后在DetailViewController

override func viewDidLoad() {
    super.viewDidLoad()

    if let image = selectedImage {
        myImageView.image = UIImage(named: image)
    }
}