我有一个UICollectionView,其中每个项目都有一个UIImage。点击某个项目时,另一个视图控制器会被推送到导航堆栈。我怎样才能使UIImage通过交互式&amp ;;从原始视图控制器传递到新的视图控制器。动画过渡?有点像图像从原始视图控制器的单元格项放大到新的视图控制器。
我正在寻找它的互动性。例如,当我点击集合视图上的图像时,它会放大到新图像控制器,其中该图像是全屏的。但是我也希望能够通过缩小图像来解除这个问题,使其回到之前的视图控制器。目前的照片应用程序显示了这一点。这正是我想要的行为类型。
新的超级应用程序似乎很好地使用了这个方法,你可以如何以交互式方式拖动动画+动画。
编辑:我不是在寻找有人用勺子喂我的代码 - 我正在寻找关于如何以最佳方式实现这一目标的更一般的指导方针。某种方式让我能够以交互方式控制整个过渡。
答案 0 :(得分:1)
您应该可以使用UIViewControllerAnimatedTransitioning执行此操作。
实质上,您需要在UICollectionViewCell中找到UIIMageView的rect,并将其传递给实现UIViewControllerAnimatedTransitioning的自定义动画对象。然后,动画师可以创建一个相同图像的新UIImageView,并将其设置为动画,以移动到新呈现的UIViewController上放置图像的位置。
这两个教程帮我做了类似的事情: ios-animation-tutorial-custom-view-controller-presentation-transitions custom-uiviewcontroller-transitions