0

我为导航控制器创建了一个自定义转换,当用户向上平移时,下一个控制器的视图显示在下面,因为当前控制器的视图向上移动。我希望该视图通过触摸来移动(就好像它在触摸点处粘在手指上),但我不知道如何将该平移从平移手势识别器传递到实现 UIViewControllerAnimatedTransitioning 的对象。好吧,我这样做了,但是我无法从 [UIView animateWithDuration ... ] 块内部访问它(似乎该块执行了一次,我认为它将作为完成更改的百分比执行)。我怎样才能做到这一点?

换个方式问这个问题,如果你在 ios7 中使用照片应用程序,当你在看一张照片时,用两根手指触摸并捏/移动,你会看到它在跟随手指(移动)。有任何示例代码吗?

4

2 回答 2

1

您需要创建一个单独的动画控制器作为UIPercentDrivenInteractiveTransition您的自定义过渡动画的子类。这个类将计算你的动画完成的百分比。在一个 SO 答案中有太多要解释的内容,但请查看此处的文档。您还可以在此处参考我的具有交互功能的自定义过渡动画的实现之一,以查看它的实际效果。

于 2014-05-08T18:54:25.697 回答
1

克罗伯斯的回答是正确的。你实际上有两个选择。

于 2014-05-08T19:01:17.810 回答