首页 文章

为什么viewcontroller segue中的发送者与集合视图单元格segue相反

提问于
浏览
0

我有一个ViewController,它是一个CollectionViewDelegate . 当用户点击图像时,我想要在我的CollectionView中切换到图像的详细视图 . 我将segue从我的单元格连接到详细VC并使用了此代码 .

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    //segue to detail view of image
    if segue.identifier == "ShowDetail",
       let detailImageView = segue.destination as? CollectionDetailViewController
    {
        detailImageView.imageName = sender as! UIImage
    }
}

显示的错误是“无法将发件人CollectionView转换为UIImage” . 相反,当我通过我的VC进行搜索时,我能够将发送者转发给UIImage . 这是为什么?

1 回答

  • 0

    我没有显示......但在这种情况下,如果 sender 是一个单元格,你不能简单地声明"now you are a UIImage",因此就是这样 .

    我假设你的集合视图单元格中有一个 UIImageView ,所以更有可能的是,你想做的事情如下:

    if let cell = sender as? MyCustomCell {
        if let image = cell.theImageView.image as? UIImage {
            detailImageView.imageName = image
        }
    }
    

    注意:我只是输入它,而不是运行它,所以它可能需要一两个调整 .

相关问题