ЖестРеканайзеры - новый регион - PullRequest
0 голосов
/ 17 октября 2011

Я изменил область экрана, в которой пользователь может перемещаться с помощью жестов, создав произвольное представление (называемое gestRegion) и присвоив ему gestRecognizer.

Но это только перевешивает жест касания. Похоже, жесты вправо и влево по-прежнему работают на всей странице. Есть ли способ перевесить жесты смахивания? Или полностью отключить?

Мой код:

self.gestureRegion.gestureRecognizers = self.pageViewController.gestureRecognizers; [self.pageViewController.view addSubview: gestRegion];

Apple Doc:

gestureRecognizers Массив объектов UIGestureRecognizer, настроенных для обработки взаимодействия с пользователем. (Только для чтения) @property (nonatomic, readonly) NSArray * жестRecognizers обсуждение Эти распознаватели жестов первоначально присоединяются к представлению в иерархии контроллера представления страницы. Чтобы изменить область экрана, в которой пользователь может перемещаться с помощью жестов, их можно поместить в другое представление. Доступность Доступный в iOS 5.0 и позже. Объявлен в UIPageViewController.h

1 Ответ

1 голос
/ 14 декабря 2011

Похоже, что, чтобы избавиться от пролистывания, но не касания, вы можете удалить распознаватель жестов панорамирования из вида ... Я поместил это в viewDidLoad класса RootViewController в приложении Xcode, автоматически генерируемом для просмотра страниц.

for (UIGestureRecognizer *gR in self.pageViewController.gestureRecognizers) {
    if ([gR isKindOfClass:[UIPanGestureRecognizer class]]) {
        [[gR view] removeGestureRecognizer:gR];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...