Как удалить распознаватель жестов

Итак, я добавляю распознаватель жестов в наложенный вид. При нажатии на экран я хочу, чтобы это наложение исчезло. Сказав, что добавление распознавателя жестов переопределяет «подправить внутри» и другие события нажатия кнопки. Мне нужно это вернуть, поэтому мне нужно удалить распознаватель жестов. Я могу использовать этот метод, но у меня есть проблема. Мой код ниже -

- (void)helpClicked
{
    CGRect visibleBounds = [self convertRect:[self bounds] toView:viewContainer];
    CGFloat minimumVisibleX = CGRectGetMinX(visibleBounds);
    UIImageView * helpOverlay = [[UIImageView alloc]initWithFrame:CGRectMake(minimumVisibleX, 0, 1024, 768)];
    UIImage * helpImage = [UIImage imageNamed:@"HelpOverLay.png"];
    [helpOverlay setImage:helpImage];
    helpOverlay.tag = 50;
    self.scrollEnabled = NO;
    [self addSubview:helpOverlay]; 
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
                               initWithTarget:self
                               action:@selector(dismissView)];

[self addGestureRecognizer:tap];    

}

Здесь я снимаю наложение с другого вида.

- (void) dismissView
{
    UIView *overlay = [self viewWithTag:50];
    [overlay removeFromSuperview];
    self.scrollEnabled = YES;
}

Мой вопрос: как удалить распознаватель жестов во втором методе? Я не могу передать переменную tap в этот метод и не могу удалить ее в предыдущем методе. Любые указатели? Я застрял с довольно большим количеством проблем с передачей переменных, когда дело доходит до событий.

48
задан CodeGeek123 8 June 2012 в 00:29
поделиться