图片点击放大

96
蓝苹果不是烂苹果
2017.06.20 17:52* 字数 201
示例

实现思路

动画缩放连续性强,所以点击图片后,在该控制器中添加对应的大图 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]];
          }];
    
缩小过程:

该过程与放大过程类似

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

iOS