浏览器使用 UICollectionView,使用 UICollectionView 是为了利用苹果为我们做的复用机制,而缩放的效果依托于 UIScrollView
拖动算法参考:https://www.jianshu.com/p/bff0c6d89814
GitHub 地址 : 一个简单的图片浏览器(支持拖拽缩放)
1. 效果图
2.拖拽动画算法
通过计算拖动前的比例得到拖动过程中图片的 x、y
3.分页效果
这里没有使用 UICollectionViewFlowLayout 中的 minimumLineSpacing 作为间距,因为分页后使用minimumLineSpacing 作为间距滑动后会出现如下图效果,会发生奇怪的现象,要解决此问题就需要计算偏移量,很麻烦,所以这里使用了简单的方法
把间距加在 Cell 的 width 上, 设置UIScrollView 的 x 为:间距/2 , width 为: Cell 的 width - 间距, 节省了使用 minimumLineSpacing 带来的繁杂算法处理,更加简单