图片点击放大

示例

实现思路

动画缩放连续性强,所以点击图片后,在该控制器中添加对应的大图 view。

视图层级

View

UICollectionView

cell

UIImageView

实现难点

放大过程:
  • 在大图上添加一个用于完成动画的 imageView,其中该 imageView 的初始位置要等于点击的小图的位置,所以这里需要将小图的 frame 转换到大图上

      CGRect rect = [collectionView convertRect:cell.frame toView:_imgV];
    
  • 获取到 frame 后,完成动画

      [UIView animateWithDuration:1 animations:^{
              tempV.bounds = _imgV.frame;
              tempV.center = _imgV.center;
          } completion:^(BOOL finished) {
              [tempV removeFromSuperview];
              _imgV.image = [UIImage imageNamed:[NSString stringWithFormat:@"%ld",indexPath.row + 1]];
          }];
    
缩小过程:

该过程与放大过程类似

以上观点为本人学习记录,仅供参考,最后放上工程链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容