在自定义交互式转换后触摸/使用手势识别器转换

时间:2014-05-08 18:43:47

标签: objective-c ios7 custom-transition

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

要以不同的方式提问,如果您使用ios7中的照片应用,当您正在查看照片时,请用两根手指触摸并捏/移动,您将看到它跟随手指(动作) 。这个的任何示例代码?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

Croberth的回答是正确的。你实际上有两个选择。