iOS:如何使用Swift在视图之间滑动

iOS:如何使用Swift在视图之间滑动,ios,view,swift,swipe,viewcontroller,Ios,View,Swift,Swipe,Viewcontroller,我是Swift和iOS开发的新手,正在研究如何设置一个主视图,其中我希望向右滑动第二个视图或向左滑动第三个视图。 当我在第二个或第三个视图中时,应该可以滑回主视图 我找到了几个实现这种滑动视图的方法: 但“问题”是,我想从一个主视图开始,可以双向滑动。(使用上面的解决方案,从第二个视图开始) 有人知道怎么做吗?这么简单 此代码与Swift和故事板(在视图控制器中)一起工作: 导入UIKit 类ViewController:UIViewController、UIPageViewControll

我是Swift和iOS开发的新手,正在研究如何设置一个主视图,其中我希望向右滑动第二个视图或向左滑动第三个视图。 当我在第二个或第三个视图中时,应该可以滑回主视图

我找到了几个实现这种滑动视图的方法:

但“问题”是,我想从一个主视图开始,可以双向滑动。(使用上面的解决方案,从第二个视图开始)

有人知道怎么做吗?

这么简单


此代码与Swift和故事板(在视图控制器中)一起工作:

导入UIKit
类ViewController:UIViewController、UIPageViewControllerDataSource{
var myViewControllers=Array(计数:3,repeatedValue:UIViewController())
重写func prepareforsgue(segue:UIStoryboardSegue,sender:AnyObject!){
将pvc=segue.destinationViewController设为UIPageViewController
pvc.dataSource=self
让故事板=UIStoryboard(名称:“Main”,捆绑包:nil);
var vc0=storyboard.instanceeviewcontrollerwhiteIdentifier(“shopID”)作为UIViewController
var vc1=故事板。实例化作为UIViewController的EviewController标识符(“startID”)
var vc2=情节提要。实例化作为UIViewController的EviewController身份识别器(“avatarID”)
self.myViewController=[vc0、vc1、vc2]
pvc.setViewController([MyViewController[1]],方向:。正向,动画:false,完成:nil)
println(“已加载”)
}
func pageViewController(pageViewController:UIPageViewController,viewControllerAfterViewController:UIViewController)->UIViewController{
var currentIndex=find(self.myViewControllers,viewController)!+1
如果currentIndex>=self.MyViewController.count{
归零
}
返回self.MyViewController[currentIndex]
}
func pageViewController(pageViewController:UIPageViewController,viewController预览控制器viewController:UIViewController)->UIViewController{
var currentIndex=find(self.myViewControllers,viewController)!-1
如果当前索引<0{
归零
}
返回self.MyViewController[currentIndex]
}
}
import UIKit

class ViewController : UIViewController, UIPageViewControllerDataSource {
    var myViewControllers = Array(count: 3, repeatedValue:UIViewController())

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
        let pvc = segue.destinationViewController as UIPageViewController

        pvc.dataSource = self

       let storyboard = UIStoryboard(name: "Main", bundle: nil);

        var vc0 = storyboard.instantiateViewControllerWithIdentifier("shopID") as UIViewController
        var vc1 = storyboard.instantiateViewControllerWithIdentifier("startID") as UIViewController
        var vc2 = storyboard.instantiateViewControllerWithIdentifier("avatarID") as UIViewController

        self.myViewControllers = [vc0, vc1, vc2]

        pvc.setViewControllers([myViewControllers[1]], direction:.Forward, animated:false, completion:nil)

        println("Loaded")
    }

    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
        var currentIndex =  find(self.myViewControllers, viewController)!+1
        if currentIndex >= self.myViewControllers.count {
            return nil
        }
        return self.myViewControllers[currentIndex]
    }

    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
        var currentIndex =  find(self.myViewControllers, viewController)!-1
        if currentIndex < 0 {
            return nil
        }
        return self.myViewControllers[currentIndex]
    }

}