【问题标题】:iOS: How do I swipe between views using SwiftiOS:如何使用 Swift 在视图之间滑动
【发布时间】:2014-09-25 08:18:03
【问题描述】:

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

我发现了几个想法如何实现这样的滑动视图: https://medium.com/swift-programming/ios-swipe-view-with-swift-44fa83a2e078

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

有人知道怎么做吗?

【问题讨论】:

标签: ios view swift swipe viewcontroller


【解决方案1】:

就这么简单……

stackoverflow.com/a/26024779/294884

【讨论】:

    【解决方案2】:

    此代码与 Swift 和 Storyboard 一起使用(在视图控制器中):

    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]
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      相关资源
      最近更新 更多