单击uicollectionviewcell中的缩略图并在新视图中显示完整图像

时间:2018-09-04 07:58:46

标签: swift xcode

我正在使用带有UICollectionView的UIViewController来在视图中呈现一系列缩略图。

当用户单击缩略图时,应将其带到显示完整图像的新场景。

我尝试使用didSelectItemAt来实现这一点,但是在测试时没有产生输出日志:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    print("Selecting item #\(indexPath.row)")
}

缩略图显示如下:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = imageCollection.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)as! ImageGalleryCell

    if cellCount < imageArray.count{
        print("Cell Count: ", cellCount)

        let url = URL(string: "https://myurl.com\(imageArray[cellCount])")
        print("url: ", url!)
       cell.images.sd_setImage(with: url, placeholderImage: UIImage(named: "someImage"))
    }
    cellCount += 1
    return cell
}

didSelectItemAt是用于单击缩略图并在新视图中显示完整图像的正确方法吗?

编辑:我试图按如下方式使用segue:

 `override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "toFullImage"{
        if let toFullImage = segue.destination as? ImagePageController{
            toFullImage.fullImage = UIImage(named: fullImageArray[0])!
        }
    }
}`

但是,当我单击图像时,应用程序崩溃,并且出现错误消息:线程1:致命错误:在展开可选值时意外发现nil

是否可以对其进行修复以使其能够与segue一起使用,或者这是完全错误的吗?

0 个答案:

没有答案