2016-07-11 24 views
0

Ich habe so viele verschiedene Blog-und Video-Tutorials versucht und alle von ihnen sind sehr verschlungen. Ich kann mir nicht vorstellen, dass diese Technik so hart ist, wie es scheint. Das sind meine Ansicht Controller: enter image description here(Swift) müssen Schritt-für-Schritt auf, wie zwischen meinen View-Controllern wischen

Alles, was ich will, ist für, nach der Unterzeichnung, meine App geht an die mittlere Ansicht Controller (der Heimcontroller). Dann möchte ich in der Lage sein, nach links und rechts zu den benachbarten View-Controllern zu wischen. Ich habe so viele Tutorials auf UIPageViewControllers und UIScrollViews versucht und keinen Erfolg. Ich habe bereits diese View-Controller, ich brauche nur eine einfache Möglichkeit, zwischen ihnen zu wischen. Ich denke, das sollte sehr einfach sein, aber jedes Video, das ich mir ansehe, ist ein Tutorial in einer App mit dem UIPageViewController. Ich brauche nur diese 3 View-Controller, die durch Wischen navigiert werden.

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Wenn Sie dies mit UISwipeGesture erreichen wollen, dann können Sie folgenden Code versuchen ...

hier brauchen Sie nur Animation in viewDidLoad() Methode self.view so geben, dass es aussieht wie es eine Steuerung von einem anderen streichen.

In der mittleren Ansicht Controller müssen Sie überprüfen, von welchem ​​Controller Sie zu MiddleController geschoben haben und danach links oder rechts Animation von Ihrem Controller abhängen.

override func viewDidLoad() 
{ 
    super.viewDidLoad() 

    self.imgSlideInFromLeft(self.view) 

    let swipeGesture:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipeViewFromLeft:")) 
    swipeGesture.direction = .Right 
    swipeGesture.numberOfTouchesRequired = 1 
    swipeGesture.delegate = self 
    self.view .addGestureRecognizer(swipeGesture) 
} 

func imgSlideInFromLeft(view: UIView) 
{ 
    let transition:CATransition = CATransition() 
    transition.duration = 0 
    transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut) 
    transition.type = kCATransitionPush 
    transition.subtype = kCATransitionFromRight 
    transition.delegate = self 
    view.layer .addAnimation(transition, forKey: "transition") 
} 

func swipeViewFromLeft(recognizer : UISwipeGestureRecognizer) 
{ 
    let followingController = FollowingController() 
    self.navigationController!.pushViewController(followingController, animated: false) 
} 
0

Sie können den folgenden Link folgen.

PageScroller_swift

Nur mit einer Änderung Seite Controller erhalten, die Sie möchten. In Ihrem Fall wollen Sie direkt auf den 1. -> Home-View-Controller springen und dann den View-Controller aus dem Index 1 holen.

self.setViewControllers([getViewControllerAtIndex(1)] as [UIViewController], direction: UIPageViewControllerNavigationDirection.Forward, animated: false, completion: nil)