2016-08-02 6 views
2

В моем проекте я использую UIPageViewController для прокрутки между 5 дочерними UIViewController. В некоторых контроллерах дочерних представлений мне нужно отключить жестов салфетки UIPageViewController, поэтому при проглатывании пользователем он не изменяется на другое представление. Итак, как я могу отключить прокрутку с контроллера детского вида?Отключить UIPageViewController Swipe - Swift

Цените для help..thanks

+0

когда child1 представляет. userInteraction = false –

ответ

11

В вашей странице контроллера представления, добавьте следующие

override func viewDidLoad(){ 
    super.viewDidLoad() 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(yourpageviewcontroller.enableSwipe(_:)), name:"enableSwipe", object: nil) 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(yourpageviewcontroller.disableSwipe(_:)), name:"disableSwipe", object: nil) 

} 
func disableSwipe(notification: NSNotification){ 
    self.dataSource = nil 
} 

func enableSwipe(notification: NSNotification){ 
    self.dataSource = self 
} 

В контроллере зрения ребенка, вы можете просто опубликовать уведомление, следуя.

NSNotificationCenter.defaultCenter().postNotificationName("enableSwipe", object: nil) 

ИЛИ

NSNotificationCenter.defaultCenter().postNotificationName("disableSwipe", object: nil) 
+0

Привет, его работа для прокрутки, но он также блокирует прокрутку вверх и вниз, так как мой ребенок имеет uitableview. Как сделать просмотр в таблице также прокруткой? Спасибо – Voyager

+0

Проверьте, включено ли «Просмотр пользователя» в ChildView, а также в вашем TableView, убедитесь, что флажок «Прокрутка включена» отмечена. – Rurouni

+0

. Оказывается, моя логика для проверки смещения неправильна. поэтому я принял ответ. Благодаря! – Voyager

Смежные вопросы