Gui*_*ume 5 containers transition interactive uiviewcontroller ios
我实现了自己的自定义容器视图控制器,并尝试使其与iOS 7视图控制器转换兼容.我让我的自定义容器视图控制器符合UIViewControllerContextTransitioning我送self当我打电话transitionDuration:和animateTransition:.只要我只使用动画过渡,一切正常.
现在我想让它与交互式转换一起工作,所以我再次使用交互控制器startInteractiveTransition:代替动画控制器animateTransition:,self再次使用它作为参数.但是,如果我使用a UIPercentDrivenInteractiveTransition作为交互控制器,它会_animator在我的上下文中调用一个方法(这是容器视图控制器本身).当然,我没有实现私有和无证的这种方法,所以它崩溃了......
我在实施中遗漏了什么吗?是UIPercentDrivenInteractiveTransition唯一与苹果类兼容,因为它使用了一些魔法执行(当它要求一切都应该是在为UIView动画块)?文档和头文件使我们看起来像我们可以实现自己的容器视图控制器并仍然使用自定义转换,但这是真的还是只是一厢情愿,因为没有人真的会这样做?
如果我不能使用UIPercentDrivenInteractiveTransition,那么交互/动画逻辑究竟应该在哪里?在UIViewControllerTransitionCoordinatorContext对象?在UIViewControllerInteractiveTransitioning对象中(很可能,这个对象是驱动程序......)?或者在UIViewControllerAnimatedTransitioning对象中(这可能是真实动画应该发生的地方,但这意味着animateTransition:在交互过程中多次调用?或者为交互过渡的每个步骤添加新方法?)
编辑:文档说:
百分比驱动的交互式转换对象在一个视图控制器的消失和另一个视图控制器的外观之间驱动自定义动画.它依赖于过渡动画师委托 - 一个采用
UIViewControllerAnimatorTransitioning协议的自定义对象- 来设置和执行动画.
没有UIViewControllerAnimatorTransitioning协议.假设它是一个错误,或者在iOS 7开发过程中发生的名称更改,它实际上是UIViewControllerAnimatedTransitioning协议,我们如何将交互控制器与动画控制器链接?我想这是驱动转换的视图控制器的责任,但我没有看到任何API来建立这个链接,所以这意味着它UIPercentDrivenInteractiveTransition确实是为Apple类保留的?
我试图自己做同样的事情,最终写了我自己的UIPercentDrivenInteractiveTransition等价物。似乎百分比驱动的过渡要求动画并在交互式过渡开始后实际启动它。不过,我在取消时实现反向动画时遇到了一些麻烦。
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |