2013-05-16 4 views
0

Я пытаюсь добавить UITapGestureRecognizer в свой UIView. Это часть кода моего UIViewController.Плохой доступ к UITapGestureRecognizer

- (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) 

ли кто-нибудь есть идея?

+0

Где находится метод foo? – savner

+0

Извините, я отредактировал сообщение. «Это responseToTapGesture:» и «address = 0x8» –

+0

Что делать, если вы меняете тип аргумента метода на id: responseToTapGesture: (id) gr – savner

ответ

0

Одна из возможностей этой ошибки заключается в том, что вы делаете это на модальном виде или что-то в этом роде, и оно уже отменено. Обязательно удалите распознаватель жестов из self.view.window, прежде чем возвращать/отклонять диспетчер view, который имеет uiGestureRecognizer.

Что-то делать с методами распределения или делегирования!

Смежные вопросы