首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPercentDrivenInteractiveTransition与CABasicAnimation

UIPercentDrivenInteractiveTransition与CABasicAnimation
EN

Stack Overflow用户
提问于 2014-04-04 16:39:24
回答 1查看 2.7K关注 0票数 12

当使用带有UIPercentDrivenInteractiveTransition的手势驱动的CABasicAnimation (或任何其他CAAnimation)时,在finishInteractiveTransition上,动画跳转到最终位置,而不是像使用UIView块动画时那样平稳地动画。我正在努力弄清楚如何在finishInteractiveTransition上平稳地动画,以便在使用CAAnimation时结束。

我现在已经花了一整天的时间在这上面。似乎没有任何地方提到使用CAAnimation与自定义VC转换,每个人都提到基于UIView块的动画。

我创建了一个演示问题的小示例项目。

https://github.com/stringcode86/UIPercentDrivenInteractiveTransitionWithCABasicAnimation

感谢所有花时间看它的人。我真的很感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-05 19:40:16

解决方案

事实证明,解决方案是操纵层,开始时间。下面我将尝试更深入地解释这个问题的解决方案。有两种解决方案,一种是使用UIPercentDrivenTransition子类或实现UIViewControllerInteractiveTransitioning协议。自定义UIViewControllerInteractiveTransitioning在主分支上,UIPercentDrivenTransition实现在UIPercentDrivenTransitionImplementation分支上。

https://github.com/stringcode86/UIPercentDrivenInteractiveTransitionWithCABasicAnimation

解释

UIPercentDrivenTransition在animateTransition:中使用动画来实现updateInteractiveTransition:。我猜他们只是从animateTransition:调用startInteractiveTransition:,然后将层(可能是容器视图层)速度设置为0.0,并操作其timeOffSet。这使他们能够自动地将您的转换来回移动。这为您的UIView动画做了它。CAAnimations的问题是由于某些原因,它们的begingTimetimeOffSetspeed属性没有正确设置。如果将这些设置为合理的值,则可以来回移动containerView中的所有动画内容。我创造了SCPercentDrivenTransition女巫,它是UIPercentDrivenTransition的替代品。您只需重写animateTransition:并从手势识别器调用handleGesture:动作调用即可。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22868376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档