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的数字结合起来,这是一个与被推送的视图的大小一起工作的其他数字。遗憾的是,我不知道这些数字之间的关系,因此我反复尝试,找到了一些感觉自然的东西。