ios - 滚动后重置 UICollectionViewCell 中的 Scrollview

标签 ios swift uiscrollview uicollectionview

我正在使用 this 创建一个相册概念。为了列出图像,我使用了 UICollectionView。每个图像都存储在全屏大小的自定义单元格中。在单元格内,我有 UIScrollView,在里面我有 UIImageViewScrollView 用于缩放图像。一切正常,但是,当我放大一个图像并滚动到另一个单元格而不缩小时,我希望重置前一个单元格的 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/

相关文章:

ios - 在自定义 UITableViewCell 中更改 UILabel 的位置和大小

ios - 寻找一种更简洁的方式来执行此搜索功能

iphone - UIScrollView 无限滚动

ios - Scrollview 上的导航栏 bartint 不在顶部

ios - 如何从我的应用程序打开设置页面

ios - Xcode uiscrollview 出现在 IB 中的导航栏后面

ios - 在 Objective-C/ios 中存储模型- View - Controller 数据的最佳替代方案 'long term'

ios - 无法将 kotlin 接口(interface)的快速实现传递给 kotlin native

ios - 如何从 danielgindi/Charts ios 的饼图传奇中删除静态字符串 "DataSet"?

swift - 如何动画一个矩阵一个一个地改变 Sprite ?