Ios7 UIKit动力学:计算UIPUSH行为所需的pushDirection

Ios7 UIKit动力学:计算UIPUSH行为所需的pushDirection,ios7,uikit,Ios7,Uikit,我想使用UIPushBehavior在屏幕上提供一个真实的视图动画。但要做到这一点,我需要能够计算UIPushBehavior的pushDirection属性中CGVector所需的推力大小 基本上,我知道视图的大小、时间和我希望它移动的距离。有没有办法使用UIKitNewton定义和带有阻力的uidynamictembehavior精确计算在特定时间内将视图移动特定距离所需的大小?如果使用平移手势,可以执行以下操作: if ( gestureRecognizer.state == UIGest

我想使用
UIPushBehavior
在屏幕上提供一个真实的视图动画。但要做到这一点,我需要能够计算
UIPushBehavior
pushDirection
属性中
CGVector
所需的推力大小


基本上,我知道视图的大小、时间和我希望它移动的距离。有没有办法使用
UIKit
Newton定义和带有阻力的
uidynamictembehavior
精确计算在特定时间内将视图移动特定距离所需的大小?

如果使用平移手势,可以执行以下操作:

if ( gestureRecognizer.state == UIGestureRecognizerStateEnded )
{
     CGPoint velocity = [gestureRecognizer velocityInView:gestureRecognizer.view.superview];
     CGFloat magnitude = sqrtf((velocity.x * velocity.x) + (velocity.y * velocity.y));

     myPushBehavior = [[UIPushBehavior alloc] initWithItems:@[gestureRecognizer.view]
                                                         mode:UIPushBehaviorModeInstantaneous];
     myPushBehavior.pushDirection = CGVectorMake((velocity.x / 10) , (velocity.y / 10));
     myPushBehavior.magnitude = magnitude;
}

感谢。

我不太清楚,阻力是UIDynamicEmbehavior实例中可用的属性之一,您尝试过吗?遗憾的是,这个答案是在我问这个问题两年后,我不再参与该项目,因此我无法测试示例代码来标记它是否正确。不过还是要感谢你添加了答案;希望它能帮助别人!在pushDirection中,使用一个值除以10。10与这里的关系是什么?我发现避免大小对我来说效果更好,因为我使用了一个组合,将被推送的视图的大小和改变10的数字结合起来,这是一个与被推送的视图的大小一起工作的其他数字。遗憾的是,我不知道这些数字之间的关系,因此我反复尝试,找到了一些感觉自然的东西。