有什么方法可以使用UIKit Dynamics将两个质量相互吸引,就像在自由空间中一样?
我知道默认情况下,重力行为就像重力指向地球一样。但这似乎只对一小部分行为有用。我能想到的唯一方法是给这两个项目巨大的质量并且没有初始重力矢量(但是将它们应用于UIGravityBehavior
它们,错误地将它们添加到UIGravityBehavior
?哈哈)。
self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
//first item with heavy mass.
self.dynamic = [[UIDynamicItemBehavior alloc] initWithItems:@[self.heavyCircle]];
self.dynamic.density = 1000000000;
self.gravity = [[UIGravityBehavior alloc] initWithItems:@[self.heavyCircle]];
self.gravity.gravityDirection = CGVectorMake(0, 0);
[self.animator addBehavior:self.gravity];
[self.animator addBehavior:self.dynamic];
//second item with less mass
self.dynamic = [[UIDynamicItemBehavior alloc] initWithItems:@[self.smallCircle]];
self.dynamic.density = 10;
//also tried with a huge value here as well.
//HUGE_VALF seems to make the app choke
self.gravity = [[UIGravityBehavior alloc] initWithItems:@[self.smallCircle]];
self.gravity.gravityDirection = CGVectorMake(0, 0);
[self.animator addBehavior:self.gravity];
[self.animator addBehavior:self.dynamic];
但这根本没有任何作用。:/ 我对 UIKit Dynamics 中的物理特性感到非常兴奋,我希望这种行为是可能的。
如果这对于 UIKit Dynamics 是不可能的,是否还有另一种同样集成的方式(保留交互性,并作为UIView
/ Button
/Whatever 发挥作用)?雪碧套件?
谢谢你的帮助!