0

UIView に UITapGestureRecognizer を追加しようとしています。これは私の UIViewController のコードの一部です。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    // Create and initialize a tap gesture
    UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(respondToTapGesture:)];

    // Specify that the gesture must be a single tap
    tapRecognizer.numberOfTapsRequired = 1;

    // Add the tap gesture recognizer to the view
    [self.view addGestureRecognizer:tapRecognizer];

}

-(void) respondToTapGesture:(UITapGestureRecognizer *)gr {
    NSLog(@"It's working !");
}

問題は、ビューをタップすると、次のメッセージが表示されることです。

0x396e25d0:  ldr    r3, [r4, #8]      < Thread 1 : EXC_BAD_ACCESS (code=1, address=0x8)

誰にもアイデアはありますか?

4

1 に答える 1

0

このエラーの可能性の 1 つは、モーダル ビューなどでこれを行っていて、既にロックが解除されている場合です。uiGestureRecognizer を持つビューコントローラーに戻る/閉じる前に、必ず self.view.window からジェスチャ認識エンジンを削除してください。

割り当てまたはデリゲート メソッドと関係があります。

于 2014-09-23T18:48:59.673 に答える