У меня есть UIViewController
с переменной UIPageViewController
.Отключить салфетки в UIPageViewController
Я пытаюсь отключить прокрутку для UIPageViewController
для определенных позиций на экране. Я делаю это, установив UIViewController
как UIGestureRecognizerDelegate и установив распознаватели жестов в делегате UIPageViewController
на себя (UIViewController
). Кажется, я не могу найти, где распознаватели жеста или загружаются для UIPageViewController
.
Я попробовал эти три места, и все приходят с пустыми в viewDidLoad
метода:
println("gesture\(self.pageViewController!.gestureRecognizers)")
println("gesture\(self.view.gestureRecognizers)")
println("gesture\(self.pageViewController!.view.gestureRecognizers)")
UPDATE *******************:
поэтому я нашел некоторые UIGestureRecognizers, скрывающиеся в navigationController, но добавление их в качестве делегатов и запуск кода ниже ничего не делает. Это потому, что у меня неправильные идентификаторы UIGestureRecognizers. Там есть один, который также является UIPanGestureRecognizer. Почему бы мне не получить распознавателей в моем контролеры страниц или в представлении моего контроллера страницы?
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {
println("Should recieve touch")
return false
}
Я получаю «должен получить прикосновение», чтобы печатать в журналах, но я возвращаю ложь и не пролистывание не будет отключена. Что я делаю не так?
проблемы в том, что self.pageViewController .gestureRecognizers возвращает пустой массив – Tyler
решения! от ссылки и информации, которую вы видите здесь, являются идеальным решением, если у вас есть UIPageViewController на основе прокрутки. –
Нет, это не сработает, переопределив делегат gestureRecognizer: «*** Завершение приложения из-за неотображенного исключения» NSInvalidArgumentException », причина:« Встроенный распознаватель жестов в UIScrollView должен иметь вид прокрутки в качестве своего делегата ». ' – davidgoli