私はSwiftとiOSの開発に不慣れで、2番目のビューを右にスワイプしたり3番目のビューを左にスワイプしたりするメインビューを設定する方法を探しています。 2番目または3番目のビューは、メインビューにスワイプして戻ることができるはずです。
このようなスワイプビューを実現する方法をいくつか見つけました: https://medium.com/Swift-programming/ios-swipe-view-with-Swift-44fa83a2e078
しかし、「問題」は、両方向にスワイプする可能性のあるメインビューから始めたいということです。 (したがって、上記のソリューションでは、2番目のビューから開始します)
誰かがこれを行う方法を知っていますか?
このコードは、Swift&ストーリーボード(View Controller内))と連携して機能します。
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]
}
}