将UIGravityBehavior更改为视图中的某个点

时间:2014-09-18 15:47:37

标签: swift ios8 uidynamicanimator

我有几张图片,其中我已经应用了一个UIGravityBehavior,所以它们都落到了视图的底部。

我希望将所有图像“拖动”到视图中的某个点,例如x = 160和y = 300.religDirection属性完全符合名称所说的,我可以控制重力的方向但是没有指明某一点。

关于如何做这样的事情的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用新的SKFieldNode类执行此操作:

https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKFieldNode_Ref/index.html#//apple_ref/occ/clm/SKFieldNode/radialGravityField

import SpriteKit      
let gravity = SKFieldNode.radialGravityField()
gravity.strength = 10.0
gravity.position = CGPoint(x: 160, y: 300)
// add the node to your scene

这里也是一个很好的例子,说明如何自行推送:stackoverflow.com/a/22855948/887210

答案 1 :(得分:0)

如果您想在UIDynamicAnimator中完全执行此操作,则可以使用UISnapBehavior。 尝试类似:

for myView in self.subviews as [UIView]{
var snapBehavior = UISnapBehavior(item:myView snapToPoint:myPoint);
self.animator!.addBehavior(self.snapBehavior);
}

确保声明变量animatormyPoint是您希望获得的观点。希望它有所帮助:)

相关问题