Sprite kit UITapGestureRecognitor不';我不能在SKView工作

Sprite kit UITapGestureRecognitor不';我不能在SKView工作,sprite-kit,uigesturerecognizer,Sprite Kit,Uigesturerecognizer,我的视图控制器中有以下代码运行场景: SKView * _skView; ClassicGameScene* _scene; - (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; if (!_skView) { _skView = [[SKView alloc] initWithFrame:self.view.bounds]; ClassicGameScene *sc

我的视图控制器中有以下代码运行场景:

SKView * _skView;
ClassicGameScene* _scene;


- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];

    if (!_skView) {
        _skView = [[SKView alloc] initWithFrame:self.view.bounds];
        ClassicGameScene *scene =[[ClassicGameScene alloc] initWithSize:_skView.bounds.size];
        scene.scaleMode = SKSceneScaleModeAspectFill;

        [_skView presentScene:scene];
        [self.view addSubview:_skView];
        [self.view setUserInteractionEnabled:YES];
        _scene = scene;
    };
}
在我的场景中,我有一个:

- (id)initWithSize:(CGSize)size
{
    if (self = [super initWithSize:size]) {
        [self createSceneContents];
    }
    return self;
}

-(void) createSceneContents
{
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
    [self.view setUserInteractionEnabled:YES];
    [self.view addGestureRecognizer:singleTap];

    [self addBackground];
    [self addLabels];
    [self preparePlocha];
}
但当我点击场景时,我的手势识别器并没有显示 工作(未触发tap过程-通过断点测试)。有人能帮我吗?
谢谢。

您是如何实现tap:method的?-(void)tap:(UIgestureRecognitizer*)gestureRecognitizer{NSLog(@“Tapped”);}为什么要手动创建SKView并将其添加为视图控制器视图的子视图?实际情况如何?您可能需要尝试[\u skView ADDGESTURE识别器:singleTap].self.view在initWithSize中为nil。您应该从didMoveToView调用createSceneContents。