我知道这似乎是其他用户多次提出的问题。我确实经历了很多,但我无法找出问题的确切原因。
我在网址上的集合视图中显示一组图像,它们存储在UIImage
类型的数组中。现在当我点击集合视图时,该特定索引处的图像应显示在另一个viewcontroller
中。
在didSelectItemAt
我这样做......
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.thumbnailImage.image = self.arrayOfURLImages[indexPath.row]
performSegue(withIdentifier: "catalogueDetailIdentifier", sender: nil)
}
但是在这一行我发生了撞车事故,说它意外地发现没有。因此,我无法继续前进。
同样在prepareForSegue
,我已经做到了......
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "myIdentifier" {
if let targetVC = segue.destination as? DestinationViewController {
targetVC.myImage = photoThumbnail.image
}
}
}
但崩溃本身必须先解决。任何帮助将不胜感激...... :)
答案 0 :(得分:1)
试试这个:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.thumbnailImage = UIImageView(frame:CGRectMake(0, 0, 100, 100));
self.thumbnailImage.image = self.arrayOfURLImages[indexPath.row]
performSegue(withIdentifier: "catalogueDetailIdentifier", sender: nil)
}
但请记住,您还需要使用以下内容显示thumbnailImage:
self.view.addSubview(self.sampleImageView)
击> <击> 撞击> 更新:(因为我现在明白你只想转移它)
var thumbnailImage: UIImage?
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.thumbnailImage = self.arrayOfURLImages[indexPath.row]
performSegue(withIdentifier: "catalogueDetailIdentifier", sender: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "catalogueDetailIdentifier" {
if let targetVC = segue.destination as? DestinationViewController {
targetVC.myImage = thumbnailImage!
}
}
}