我有以下层次结构: UIViewController - > UICollectionView - > UICollectionViewCell - > UIScrollView - > UIImageView - >的UIImage
通过这种层次结构,我可以拥有良好的缩放功能。但是当我完成放大并滑入下一个图像时,我需要将之前的imageview重置为其原始比例。
我的尝试: 我将当前索引存储在我的集合中
self.currendIndex
然后尝试获取集合视图单元格,并在视图控制器内的scrollViewWillBeginDecelerating事件中将其scrollview设置为如此缩放
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
let indexPath = IndexPath(item: self.currendIndex, section: 0)
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! ImageCollectionViewCell
DispatchQueue.main.async {
cell.scrollView.zoomScale = 1
cell.scrollView.contentOffset = CGPoint(x: 0, y: 0)
}
}
但它没有缩小它,它只是转到下一个元素然后当我回来时它仍然是缩放级别。
如何解决?
答案 0 :(得分:0)
我使用reloadItems方法解决了这个问题:
^(?<Prefix>The book named) (?<BookName>.+) (?<Suffix>is a classic.)$
它必须在异步
中