私はthisのフレームワークを使って、Tinder(Swift 3)のようなナビゲーションバーを提供しようとしています。Tinderのようなナビゲーション(スウィフト)
私の目標は、これを組み込み、ストーリーボード上に3つの独立したビューコントローラを持ち、それらのVC.swiftファイルとセグを使用することです。
Hereは、ストーリーボードのTinderスタイルと3つのViewControllerを使用した作業テストプロジェクトです。
私のプロジェクトで使用する前にテストしたいので、このプロジェクトを更新しました。
私が見たように、navは3つのVCを持ち、それらの間を切り替えるUINavigationControllerです。私はストーリーボードで彼を見たかった。私はMainNavigationControllerと呼ばれるUIビルダーとUINavigationControllerクラスのUINavigationControllerを作成
var nav: UINavigationController?
:
はそうでinsted。
var nav: MainNavigationController?
nav = mainStb.instantiateViewController(withIdentifier: "mainNavigationController") as? MainNavigationController
私はまたMainNavigationControllerに私は(ボタンを使用)セグエこのVCから、絵コンテするための簡単な初期ビューコントローラを追加しました:
@IBAction func buttonSegue(_ sender: Any) {
setNav()
self.performSegue(withIdentifier: "segue", sender: nil)
}
func setNav() {
//// implement my logic (if logged in go to... if not go to...)
instantiateControllers()
setItems()
let items = [UIImageView(image: chat),
UIImageView(image: gear),
UIImageView(image: profile)]
let controllers = [oneVC!,
twoVC!,
threeVC!] as [UIViewController]
controller = SLPagingViewSwift(items: items, controllers: controllers, showPageControl: false)
setupController()
nav = MainNavigationController(rootViewController: controller)
appDelegate.window?.rootViewController = nav
appDelegate.window?.makeKeyAndVisible()
}
をすべてがこれまでに動作します。 BUT:
私が現在持っている唯一の問題は、私はセグのコントロールがないということです。 3つのビューコントローラに追加しました
このメソッドは決して打つことはありません。私はビューコントローラ間でデータを渡す必要があります。どのようにそれを行うことができますか?
また、(ボタンのような)要素をタップして、あるビューコントローラから別のビューコントローラにセグを実装する方法はありますか? 1つのVCから別のVCへのボタンを使用して通常のセグを設定すると、ナビゲーションバーなしでターゲットVCが表示されます。
私は現在の実装hereをアップロードしました。
任意のヘルプはappricieatedされます。ありがとう。
* Swap 3のSLPagingViewのコードとVCのサンプルプロジェクトの@DavidSeekに感謝します。 –
あなたのボタンメソッドの 'performSegueWithIdentifier'は' setNav'のルートビューコントローラを既に置き換えていて、あなたのビューは現在ストーリーボード環境の外にあるので何もしません – Paulw11