我在UIDynamicBehavior中遇到了一个问题。我使用UIPushBehavior在不同方向上移动两个对象。
当它们发生冲突时,我想打印" collide“。
当两个移动的物体发生碰撞时,会调用哪个方法?
UIDynamicAnimator UICollisionBehavior UIPushBehavior
发布于 2014-12-04 10:20:03
首先,您必须使您想要处理冲突的类实现UICollisionBehaviorDelegate,因此在您的头文件中,您需要将您的接口行更改为@interface MyClassHere : MySuperclass <UICollisionBehaviorDelegate>。对于碰撞行为,在初始化时使用collisionBehavior.delegate = self;,然后添加方法- (void)collisionBehavior:(UICollisionBehavior *)behavior beganContactForItem:(id<UIDynamicItem>)item1 withItem:(id<UIDynamicItem>)item2 atPoint:(CGPoint)p,每次在属于UICollisionBehavior的两个项之间发生碰撞时都会调用该方法。因此,您的方法将如下所示:
- (void)collisionBehavior:(UICollisionBehavior *)behavior beganContactForItem:(id<UIDynamicItem>)item1 withItem:(id<UIDynamicItem>)item2 atPoint:(CGPoint)p{
NSLog(@"Collide");
}希望它能有所帮助:)
https://stackoverflow.com/questions/26445783
复制相似问题