すべてのViewControllerでtabBarを使用したいと思います。私はSWRevealViewControllerを実装しています。これは、TabBarControllerとTabViewControllerの2つのView Controllerをリンクしています。私は、TableViewControllerからSeguesするすべてのViewControllerで同じtabBarを使用したいと考えています。SlideMenuViewControllerからインスタンス化するViewControllerでTabBarControllerを開く方法
答えて
これはあまりにも難しいことではありません。あなたのRevealViewController
(あなたのストーリーボードの初期コントローラ)は既にSWRevealViewController
のサブクラスのようです。これは良いことですが、このシナリオでは本質的に必要ではありません。あなたが必要とするのは、サイドメニュー用のUIViewController
実装です。ストーリーボードだけではできません。
また、セグに目的のビューコントローラがあるため、ここではセグを使用してタブを切り替えることはありません。したがって、セグを実行するたびに、ターゲットビューコントローラの新しいインスタンスを作成します。私はむしろ今のあなたは(実際にRearViewController
)あなたのメニューとしてUIViewController
またはUITableViewController
を作成しましょうUITableView
のセル選択を処理UIViewController
を実装します。このクラスをストーリーボードのUITableViewController
に割り当ててください。
class MenuViewController: UITableViewController {
// MARK: UITableViewDelegate
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let tabIndex = indexPath.row
let tabbarVC = (revealViewController().frontViewController as! UITabBarController)
tabbarVC.selectedIndex = tabIndex // this assumes the menu items are in the same order as the tabs. if not you need to adjust this
revealViewController().revealToggle(animated: true) // close the side menu after switching tabs
}
}
これは私がすべての私のViewControllersにタブバーを持ちたいあなたが
を必要とするすべてである必要があります。私は が1つにリンクされた2つのビューコントローラを持つSWRevealViewControllerを実装しました TableViewControllerからのすべてのViewControllerで同じtabBarを持っていたいと思うTabViewControllerと別のTableViewControllerです。
あなたは、このようないくつかの微調整を行うcustom delegate
を作成し、SWRevealViewController
にTableViewController
とTabBarController
のdelegate
を設定することができます。今、初めて開くと言うことができますTableViewController
と任意のセル上のタップはその後、ちょうどSWRevealViewController
クラス内で実行し、その後TabBarController
を開き、ときTabBarController
のback button
をクリックする必要があり、そのクラス内のsegue
を実行する必要がありdelegate
メソッドを呼び出したときに再びdelegate
メソッドを呼び出しますSWRevealViewController
クラス内で実行する必要がありますTableViewController
- 1. TabBarControllerから特定のViewControllerを表示
- 2. TabBarControllerでViewControllerを開いてプッシュ通知を処理する
- 3. (テーブル)ViewControllerから(テーブル)ViewControllerをTabBarController内のNavigationController内に表示
- 4. MFSideMenu側のViewController Tabbarcontroller
- 5. ViewControllerとTabBarControllerの間でデータを渡す
- 6. Reach ViewController TabBarControllerの内部
- 7. Xamarin.iOS:UI用の独自の.storyboardを持つ各ViewControllerで、TabBarControllerに新しいViewControllerを追加する方法
- 8. ViewControllerからTabBarControllerの最初のタブへの接続
- 9. tabbarcontrollerをカスタマイズする方法
- 10. iosで既存のviewcontrollerを開く方法
- 11. Uitabviewcontroller uitabbarcontrollerで2番目のviewcontrollerを開く方法は?
- 12. viewControllerからアクセスする方法Swift 3の別のviewController
- 13. プラグインinit.rbでモデルを正しくインスタンス化する方法は?
- 14. Photon Unity Networkでゲームオブジェクトを正しくインスタンス化する方法は?
- 15. tabbarcontrollerのすべてのviewcontrollerフレームのサイズを変更する
- 16. TabbarControllerのViewControllerをNavigationBarで置き換えます。
- 17. xib viewcontrollerをstoryboard viewcontrollerから呼び出す方法
- 18. どのようにViewControllerからSWRevealViewControllerを開くと、背景のViewControllerがぼやけているのですか?
- 19. すばやいストーリーボードで別のTabBarController内でTabBarControllerを作成する方法は?
- 20. Verilogでシーケンシャルブロックをインスタンス化する方法
- 21. iOS 3.1でViewControllerをインスタンス化する方法は? (これはすでにiOS 4.2.1で動作します)
- 22. Android - インスタンスから新しいアクティビティを開始する方法
- 23. xibからビューをインスタンス化する方法は?
- 24. 他のView Controllerからナビゲーションコントローラをインスタンス化する方法は?
- 25. Angular 2.0 final:コードからコンポーネントをインスタンス化する方法
- 26. クラスからImageViewをインスタンス化する方法は?
- 27. メニューハンドラからパーツクラスを再インスタンス化する方法は?
- 28. 1つのviewcontrollerから他のviewcontrollerに戻る方法
- 29. AppDelegateのTabBarControllerからViewControllerを取得するにはどうすればよいですか?
- 30. Xcode別のViewControllerでWebViewを開く
UITabBarでBaseClass viewControllerを実装し、次にBaseClassから他のすべてのコントローラを継承する必要があります。プログラム的にこのクラスのペン先やストーリーボードはありません。 –
私はTableViewControllerでデリゲートとして使用しようとしています。そしてMainTabBarControllerでコールバックして、渡されたViewControllerをMainTabBarComtrollerに表示します。 – AsimRazaKhan
ですので、定義どおりに正常に動作しています。あなたは、タブバー用のコントローラーまたはサイドメニューコントローラーだけを使用しますか? –