Селектор UISwipeGestureRecognizer не вызывается. Есть идеи почему? - PullRequest
2 голосов
/ 04 ноября 2011

Я использую приведенный ниже код для интеграции событий пролистывания вправо / влево в объект UIImageView (называемый photo_view ), но он не работал после тестов в симуляторе iphone и устройстве.Методы handleLeftSwipe и handleRightSwipe ниже даже не вызываются, так как при ведении журнала ничего не печаталось в журналах отладчика, как должно.Вот код:

- (void)viewDidLoad
{
     [super viewDidLoad];

     UISwipeGestureRecognizer *leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc]  initWithTarget:self action:@selector(handleLeftSwipe:)];
     leftSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
     leftSwipeRecognizer.numberOfTouchesRequired = 1;
     [photo_view addGestureRecognizer:leftSwipeRecognizer];
     leftSwipeRecognizer.delegate = self;
     [leftSwipeRecognizer release];

     UISwipeGestureRecognizer *rightSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleRightSwipe:)];
     rightSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
     rightSwipeRecognizer.numberOfTouchesRequired = 1;
     [photo_view addGestureRecognizer:rightSwipeRecognizer];
     rightSwipeRecognizer.delegate = self;
     [rightSwipeRecognizer release];

}


- (void)handleLeftSwipe:(UISwipeGestureRecognizer *)recognizer
{
     NSLog(@"handleLeftSwipe called");
}

- (void)handleRightSwipe:(UISwipeGestureRecognizer *)recognizer
{
     NSLog(@"handleRightSwipe called");
}

Есть идеи, в чем причина?

Заранее спасибо за помощь,

Стефан

Ответы [ 2 ]

7 голосов
/ 04 ноября 2011

UIImageView экземпляры по умолчанию userInteractionEnabled до NO.Попробуйте установить его на YES.

2 голосов
/ 24 апреля 2013

Убедитесь, что вы также включили <UIGestureRecognizerDelegate> в свой файл .h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...