Как сбросить UIGestureRecognizer?

У меня есть subview внутри представления. В этом представлении есть PanGestureRecognizer. Я хочу, чтобы пользователь мог увеличивать масштаб внутри веб-просмотра, панорамировать, уменьшать масштаб и т. Д. Но я хочу, чтобы пользователь, когда пользователь дошел до левого края веб-браузера, игнорировал указатели gestures внутри webView, и только PanGestureRecognizer из представления называется.

Ну, я достиг этого, по этому коду:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView { float coordY = scrollView.contentOffset.y; float correctionOffsetRightSide = scrollView.contentSize.width-webView.bounds.size.width; if(scrollView.contentOffset.x <= 0) { [delegate viewOnlyRecognizeItsPan]; [scrollView setContentOffset:CGPointMake(0, coordY)]; } else if (scrollView.contentOffset.x >= correctionOffsetRightSide) { [delegate viewOnlyRecognizeItsPan]; [scrollView setContentOffset:CGPointMake(correctionOffsetRightSide, coordY)]; } } -(void)viewOnlyRecognizeItsPan { for (UIGestureRecognizer *gesture in [[[[arrayDeAbas objectAtIndex:currentViewTag] webView] scrollView] gestureRecognizers]) { [gesture requireGestureRecognizerToFail:panRecognizer]; } } 

«arrayDeAbas» – это mutableArray, в котором хранятся веб-просмотры.

Моя проблема: после того, как пользователь нажимает на кнопку, мне нужно сбросить «жесты», так что это не требует, чтобы panRecognizer терпел неудачу. Как я мог это сделать?

EDITED: Хорошо, я основал решение. Вместо использования requireGestureRecognizerToFail :, я могу просто установитьEnablle в YES или NO.

 -(void)turnPanON { for (UIGestureRecognizer *gesture in [[[[arrayDeAbas objectAtIndex:currentViewTag] webView] scrollView] gestureRecognizers]) { gesture.enabled = NO; } } -(void)turnPanOFF; { for (UIGestureRecognizer *gesture in [[[[arrayDeAbas objectAtIndex:currentViewTag] webView] scrollView] gestureRecognizers]) { gesture.enabled = YES; } } 

  • Инструмент командной строки Apple для проверки файла ipa перед отправкой в ​​AppStore
  • Где хранятся архивы для ботов сервера OS X
  • Неверный возврат данных Firebase
  • Сохранение CGPoints в NSMutableArray и Sqlite
  • Как отлаживать «сообщение, отправленное на освобожденный экземпляр» в Xcode4?
  • Поле UITableView «Содержимое» не отображается в XIB-файле (Xcode 5 и 6)
  • получение контрольной точки для получения данных адресной книги
  • unind segue / performSegueWithIdentifier: проблемы
  • Доступ / изменение AppDelegate в Xcode во время тестирования пользовательского интерфейса
  • Как установить интерфейс .xib в качестве настраиваемого вида выноски?
  • Facebook SDK 4.7 Обработка ошибок входа в систему
  • Interesting Posts

    Как проверить, разрешено ли пользователю разрешение на использование камеры?

    UIImage (contentsOfFile :), возвращающий нуль, несмотря на файл, существующий в каталоге кэшей

    музыкальный поток iOS в фоновом режиме

    Требуется ли для возобновления подписки кнопка восстановления?

    назначить NSMutableArray с атрибутом @property и 'copy'

    Сбой: неправильное использование API-интерфейса XPC: переназначение соединения

    Отображать видео внутри Uiwebview не в полноэкранном режиме устройства

    Ошибка домена = AVFoundationErrorDomain Код = -11814 «Невозможно записать»

    Могут ли два объекта CoreData иметь более одного отношения «ко многим» между ними?

    Отладка XCode (GDB) случайным образом зависает при прохождении кода

    Предупреждение о размере UICollectionViewFlowLayout при повороте устройства в ландшафт

    Рабочий процесс NSOperation и NSOperationQueue vs main thread

    После обновления до Xcode 6.3 новые архивы приложений iOS не могут быть отправлены

    Как сравнить типы жестов в iOS?

    Swift: как получить имя и фотографию пользователя Parse

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.