すべての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. didFinishLaunchingWithOptionsからViewControllerを開く
- 4. (テーブル)ViewControllerから(テーブル)ViewControllerをTabBarController内のNavigationController内に表示
- 5. MFSideMenu側のViewController Tabbarcontroller
- 6. ViewControllerとTabBarControllerの間でデータを渡す
- 7. Reach ViewController TabBarControllerの内部
- 8. Xamarin.iOS:UI用の独自の.storyboardを持つ各ViewControllerで、TabBarControllerに新しいViewControllerを追加する方法
- 9. SlideMenuViewControllerを使用してMainviewcontrollerから別のView Controllerにナビゲートする方法
- 10. ViewControllerからTabBarControllerの最初のタブへの接続
- 11. tabbarcontrollerをカスタマイズする方法
- 12. Swift TabBarControllerのViewControllerが特定のクラスであるかどうかを確認する方法
- 13. 起動画面でViewControllerを開く方法は?
- 14. iosで既存のviewcontrollerを開く方法
- 15. Uitabviewcontroller uitabbarcontrollerで2番目のviewcontrollerを開く方法は?
- 16. フラグメントの内部でasynctaskからインタフェースをインスタンス化する方法
- 17. UITabBarControllerからviewControllerを初期化する
- 18. viewControllerからアクセスする方法Swift 3の別のviewController
- 19. AppControllerからView Controllerを表示する方法TabBarController => NavbarController
- 20. Photon Unity Networkでゲームオブジェクトを正しくインスタンス化する方法は?
- 21. プラグインinit.rbでモデルを正しくインスタンス化する方法は?
- 22. Swift 3:ファイルを順次ダウンロードしてViewControllerを開く方法
- 23. tabbarcontrollerのすべてのviewcontrollerフレームのサイズを変更する
- 24. すばやいストーリーボードで別のTabBarController内でTabBarControllerを作成する方法は?
- 25. TabbarControllerのViewControllerをNavigationBarで置き換えます。
- 26. どのようにViewControllerからSWRevealViewControllerを開くと、背景のViewControllerがぼやけているのですか?
- 27. Javaで型をインスタンス化する方法
- 28. Verilogでシーケンシャルブロックをインスタンス化する方法
- 29. ViewControllerからタブバーのViewControllerにデータを渡す方法iOS?
- 30. xib viewcontrollerをstoryboard viewcontrollerから呼び出す方法
UITabBarでBaseClass viewControllerを実装し、次にBaseClassから他のすべてのコントローラを継承する必要があります。プログラム的にこのクラスのペン先やストーリーボードはありません。 –
私はTableViewControllerでデリゲートとして使用しようとしています。そしてMainTabBarControllerでコールバックして、渡されたViewControllerをMainTabBarComtrollerに表示します。 – AsimRazaKhan
ですので、定義どおりに正常に動作しています。あなたは、タブバー用のコントローラーまたはサイドメニューコントローラーだけを使用しますか? –