我正在使用带有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一起使用,或者这是完全错误的吗?