我正在使用 this 创建一个相册概念。为了列出图像,我使用了 UICollectionView
。每个图像都存储在全屏大小的自定义单元格中。在单元格内,我有 UIScrollView
,在里面我有 UIImageView
。 ScrollView
用于缩放图像。一切正常,但是,当我放大一个图像并滚动到另一个单元格而不缩小时,我希望重置前一个单元格的 ScrollView 。
在自定义单元格类中,我为每个单元格的 ScrollView 设置 ZoomScale
,如下所示:
func configureCell(_ photo: String){
albumPhoto.image = UIImage(named: photo)
scrollView.setZoomScale(1.0, animated: false)
}
在返回单元格之前,我在 cellForItemAt
函数中配置每个单元格。
当我放大第一个单元格,滚动到第二个单元格再滚动回到第一个单元格时,图像仍然放大。但是如果我滚动到第二个和第三个单元格然后返回到第一个单元格,图像被放大默认。
即使在从第二个单元格立即滚动回第一个单元格后,我如何实现这一点, ScrollView 将设置为默认缩放比例。
最佳答案
你需要实现这个方法:https://developer.apple.com/documentation/uikit/uicollectionviewdelegate/1618087-collectionview 并在显示单元格之前缩小 scrollView。此方法将处理您的情况。快乐编码;)
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
关于ios - 滚动后重置 UICollectionViewCell 中的 Scrollview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423573/