В UILabel добавлен жест смахивания, но он не работает - PullRequest
2 голосов
/ 25 января 2012
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedGesture:)];
swipe.direction = UISwipeGestureRecognizerDirectionRight;
 swipe.numberOfTouchesRequired = 1;
  [self.myLabel.superview addGestureRecognizer:swipe];

- (void)swipedGesture:(UIGestureRecognizer *)recognizer
{
    NSLog(@"I swiped ;)");
}

Итак, вот что происходит: у меня есть ярлык с именем myLabel.и когда я проведу вправо, он должен напечатать NSLog I swiped, но ничего не происходит.В чем причина?Что я здесь не так сделал?Может ли кто-нибудь помочь мне отредактировать мой код, чтобы сделать эту работу?

Ответы [ 2 ]

10 голосов
/ 25 января 2012

Распознаватель жестов не будет работать, если вы не установите userInteractionEnabled на YES на этикетке.

10 голосов
/ 25 января 2012

Вам не нужно добавить этот жест смахивания к UILabel? Вы добавляете его в суперпредставление этого ярлыка.

изменение - [self.myLabel.superview addGestureRecognizer:swipe];

до - [self.myLabel addGestureRecognizer:swipe];

ОБНОВЛЕНИЕ: Также в качестве точек Джастина, пожалуйста, установите userInteractionEnabled на YES для метки, например, - [self.myLabel setUserInteractionEnabled:YES];

...