2016-04-05 8 views
0

Ich habe eine Liste von Produkten in einem TableView. Wenn ich auf ein Produkt klicke, öffne ich UIPageViewController, der ähnliche Produkte enthält, und der Benutzer kann zwischen ihnen wischen. Was ich machen muss ist, dass wenn der Benutzer auf dem ersten Element ist und wenn er zurückwischt, UIPageViewController verschwinden muss und der Benutzer wieder in TableView sein sollte. Die Standard-Wischgeste ist aktiviert (wenn Sie von der Kante wischen, um zurückzugehen, aber es passt nicht zu meinem Bedürfnis). Das Prinzip sollte das gleiche sein, nur ohne die Notwendigkeit, vom Rand zu wischen, aber es sollte als regulärer Wischvorgang funktionieren. Könnt ihr mit irgendwelchen Ideen helfen?Zurück zum vorherigen (root) ViewController

+0

Verwenden Sie den Navigationscontroller? Sie können überall auf dem Bildschirm wischen? – UlyssesR

Antwort

0

Sie möchten eine "Zurück" -Taste mit einem Swipe. Sie müssen also den Wischgestenerkenner hinzufügen und dann die Ansicht schließen.

Im viewDidLoad()

var swipe = UISwipeGestureRecognizer(target: self, action: Selector("swipes:")) 
swipe.direction = .Right 
view.addGestureRecognizer(swipe) 

Und in der Handler-Funktion.

func swipes(sender:UISwipeGestureRecognizer) { 
if (sender.direction == .Right) { 
    self.navigationController?.popViewControllerAnimated(true); //If you are now using navigation controller, just change to the apropriate function to "go back" 
} 
} 
+0

Zurück Swipe funktioniert bereits in der App, aber Sie müssen von der Kante ziehen. Was ich erreichen möchte, ist, mit einer einfachen Swipe auf der ersten Ansicht Controller in uipageviewcontroller zurück zur Liste gehen. Ich könnte deine Antwort implementieren und auch überprüfen, ob ich auf dem ersten Viewcontroller bin, das würde wahrscheinlich funktionieren. Aber gibt es einen "richtigen" Weg, dies zu tun? – ZassX

+0

Es ist genau das, was dieser Code macht ... wische ÜBERALL auf dem Bildschirm (Bewegung von links nach rechts) und es wird die Funktion aufrufen, die Funktion wird zurück zum Vorschau-Bildschirm gehen. – UlyssesR

-2

können Sie verwenden

self.navigationController .popViewControllerAnimated (true)?;