2016-08-02 20 views
2

In meinem Projekt verwende ich UIPageViewController, um zwischen 5 untergeordneten UIViewController zu wischen. In einigen der Kind-View-Controller muss ich die Wischgeste des UIPageViewController deaktivieren, damit der Benutzer beim Wischen nicht in die andere Ansicht wechselt. Also, wie kann ich den Swipe vom Kind View Controller deaktivieren?Disable UIPageViewController Swipe - Swift

für help..thanks Appreciate

+0

wenn child1 präsentiert wird. userInteraction = false –

Antwort

11

In Ihrem Controller Seite Ansicht, fügen

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 
} 

folgenden In Ihrem Kind-View-Controller, können Sie einfach Mitteilung schreiben, indem Sie.

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

ODER

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

Hallo, es funktioniert für Swipe, aber es blockiert auch die Bildlauf nach oben und unten seit meinem Kind hat uitableview. Wie man die Tabellenansicht auch scrollen lässt danke – Voyager

+0

Bitte überprüfen Sie die Benutzerinteraktion Ihrer Kinderansicht und stellen Sie auch sicher, dass in der tableView das Kontrollkästchen Scrolling Enabled aktiviert ist – Rurouni

+0

es stellt sich heraus, dass meine Logik für die Überprüfung der Offset ist falsch. Also habe ich die Antwort akzeptiert. Vielen Dank! – Voyager

Verwandte Themen