iOS:如何使用 Swift 在视图之间滑动
Posted
技术标签:
【中文标题】iOS:如何使用 Swift 在视图之间滑动【英文标题】:iOS: How do I swipe between views using Swift 【发布时间】:2014-09-25 08:18:03 【问题描述】:我是 Swift 和 ios 开发的新手,我正在研究如何设置一个主视图,我希望向右滑动以获得第二个视图或向左滑动以获得第三个视图。 当我在第二个或第三个视图中时,应该可以滑回主视图。
我发现了几个想法如何实现这样的滑动视图: https://medium.com/swift-programming/ios-swipe-view-with-swift-44fa83a2e078
但“问题”是,我想从一个可以双向滑动的主视图开始。 (所以用上面的解决方案从第二个视图开始)
有人知道怎么做吗?
【问题讨论】:
UIPageViewController and storyboard的可能重复 【参考方案1】:就这么简单……
***.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]
【讨论】:
以上是关于iOS:如何使用 Swift 在视图之间滑动的主要内容,如果未能解决你的问题,请参考以下文章