Ios physicsBody联系人是否开始不被调用?

Ios physicsBody联系人是否开始不被调用?,ios,sprite-kit,skphysicsbody,Ios,Sprite Kit,Skphysicsbody,在我的代码中,我为球和焊接精灵设置了物理实体 以下是球精灵的physicsBody设置: ball.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:10]; ball.physicsBody.affectedByGravity = NO; ball.physicsBody.velocity = velocity; ball.physicsBody.restitution = 1; ball.physicsBody.friction = 0;

在我的代码中,我为球和焊接精灵设置了物理实体

以下是球精灵的physicsBody设置:

ball.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:10];
ball.physicsBody.affectedByGravity = NO;
ball.physicsBody.velocity = velocity;
ball.physicsBody.restitution = 1;
ball.physicsBody.friction = 0;
ball.physicsBody.categoryBitMask = ballCategory;
ball.physicsBody.collisionBitMask = ballCategory | barrierCategory | weldCategory | weldPointCategory;
ball.physicsBody.contactTestBitMask = weldingCategory;
这是焊接精灵的physicsBody设置:

weldRU = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(2, 2)];
weldRU.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:weldRU.size];
//weldRU.physicsBody.dynamic = NO;
weldRU.physicsBody.affectedByGravity = NO;
weldRU.physicsBody.categoryBitMask = weldingCategory;
weldRU.physicsBody.collisionBitMask = 0;
weldRU.physicsBody.contactTestBitMask = ballCategory;
weldRU.physicsBody.usesPreciseCollisionDetection = YES;

在设置中,我为彼此提供categoryBitMask和contactTestBitMask,但当这些实体接触时,不会调用contact override方法。焊接精灵在任何可能的接触时间都会运行动作,但physicsBody始终存在。那么,我是否遗漏了导致他们无法检测到联系的内容?

哦,我觉得很愚蠢,我忘记添加self.physicsWorld.contactDeligate=self;到didMoveToView方法。问题已解决。然后添加此解决方案作为答案并接受它。