私はビューコントローラを私の最初のビューコントローラとして持っています。 ボタンがあります(GOボタン)。ユーザーがタップすると、別のビューコントローラーに移動する必要があります(ラベル 'Destination View Controller'というラベルが付いています)。一方、私はそれをTabbarのコントローラーに渡したいと思います。なぜなら、私はナビゲーションスタックにタブバーを持っていて、ユーザーがデスティネーションビューコントローラを押したときにタブバーコントローラに移動しなければならないからです。写真は私が望むものを示しています。ナビゲーションスタックでタブバーをスキップするにはどうすればよいですか?1つをスキップしている間、ビューコントローラを介したナビゲーション - iOS
0
A
答えて
1
あなたは、GOボタンのIBAction
内側に簡単にそれを行うことができます。
@IBAction func goTapped(_ sender: UIButton) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc1 = storyboard.instantiateViewController(withIdentifier: "myTabBarViewController")
let vc2 = storyboard.instantiateViewController(withIdentifier: "myGoalViewController")
let controllers = [vc1, vc2]
self.navigationController!.setViewControllers(self.navigationController!.viewControllers + controllers, animated: true)
}
幸運を!
1
DestinationViewControllerに行くことは、手動で次のようになります。
if let destinationViewController = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID of DestinationViewController") {
self.navigationController?.pushViewController(destinationViewController, animated: true)
}
(または、あなたが直接、ストーリーボードにFirstViewControllerからDestinationViewControllerにセグエを作ることができる)
そして、あなたのDestinationViewControllerで、挿入ビューが表示された後、TabbarControllerをナビゲーションシーケンスに手動で追加した後、TabbarControllerに戻ることができます:
class DestinationViewController: UIViewController {
//......
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if self.isBeingPresented || self.isMovingToParentViewController {
var viewControllers = self.navigationController?.viewControllers
if let index = viewControllers?.endIndex.advanced(by: -1),
let tabBarController = self.storyboard?.instantiateViewController(withIdentifier: "Storyboard ID of TabBarController") {
viewControllers?.insert(tabBarController, at: index)
self.navigationController?.viewControllers = viewControllers!
}
}
}
//......
}
関連する問題
- 1. コードを介してビューコントローラをロードする
- 2. ボタンを介して1つのビューコントローラから別のビューコントローラにプッシュセグを送る方法は?
- 3. iOS(Swift) - ビューコントローラのタブ付きナビゲーション
- 4. 1つのビューコントローラから別のビューコントローラにデータを渡す。 iOS <= 4対iOS 5
- 5. Javaでのオブジェクトを介したナビゲーション
- 6. 私はページカールを持っています。iosでビューコントローラから別のビューコントローラにナビゲートしている間のアニメーション
- 7. のiOS:取り外したビューコントローラにビューコントローラを提示presentViewControllerエラーが
- 8. /* * /間のコメントのパターンをスキップしたい
- 9. 1つのカスタムシェルスクリプトを実行しているネイティブiOSが長時間を要しました
- 10. iOS - 子コンテナを介して親ビューコントローラのイメージビューを設定するにはどうすればよいですか?
- 11. 1ビューコントローラNSSdictonaryの値をiosのカスタムデリゲートを使用して変更する
- 12. 1つのビューコントローラを表示した後のTabbarコントローラ
- 13. Pythonが私の関数の1つをスキップしました
- 14. Asyncを使用している間にスキップされたフレーム
- 15. ナビゲーションを介してデータをプッシュする方法View Controller
- 16. タブバーを介してビューコントローラに戻ったときに子ビューに固執する
- 17. 別のビューコントローラで1つのビューコントローラのボタンを無効にする
- 18. シングルトンクラスで配列を使用してビューコントローラ間でデータを渡すIOS?
- 19. native iOSアプリケーションでsocket.ioを介したリモートプロシージャコール
- 20. iOSの11ナビゲーションTitleViewは私がカスタムナビゲーションのタイトルビューを設定していたにiOSアプリを持っている
- 21. キュウリが1つ失敗した場合に次のテストをスキップ
- 22. DataGridViewのセルを介してナビゲーション(タブ/矢印)を取得して、読み取り専用セルをスキップするにはどうすればよいですか?
- 23. DataGridタブのナビゲーションをスキップする列
- 24. のiOS - アプリケーションのメインバンドルパスを介し違い
- 25. Swift/iOS。ナビゲーションスタックからいくつかのビューコントローラを削除する
- 26. 中間モデルを介してmanytomanyを持つDjangoフォームセット
- 27. セレンのwebdriverを使用して1つのdivをスキップした後にDIVSをカウントし続ける
- 28. UISplitViewControllerのpreferredDisplayModeを詳細ナビゲーションに設定している間に
- 29. ios - 新しいビューコントローラにデータを設定する
- 30. ビューコントローラのナビゲーションをチェーンする方法(NSNotificationが受信されていない)
ビューコントローラの配列を作成し、それを 'navigationController.viewControllers'に設定することができます。 –