我在UIDynamicBehavior
遇到了问题。我正在使用UIPushBehavior
向不同方向移动两个物体。
我想在碰撞时打印“碰撞”。
当两个移动物体碰撞时调用哪个方法?
UIDynamicAnimator
UICollisionBehavior
UIPushBehavior
答案 0 :(得分:0)
首先,您必须使您想要处理碰撞工具的类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");
}
。
所以你的方法看起来像:
{{1}}
希望有所帮助:)