我有一个 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。这是为什么?
我不知道它在你没有显示的代码中是什么或为什么工作......但在这种情况下,如果sender
是一个单元格,你不能简单地声明“现在你是一个 UIImage”,因此它是这样。
我假设您UIImageView
的 Collection View Cell 中有一个,因此更有可能的是,您想要执行以下操作:
if let cell = sender as? MyCustomCell {
if let image = cell.theImageView.image as? UIImage {
detailImageView.imageName = image
}
}
注意:我只是输入这个,而不是运行它,所以它可能需要一两个调整。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句