2017-07-27 1 views
0

は、どのように私は、単純なのUIViewControllerUINavigationControllerに組み込まれているシンプルなのUIViewControllerからTabbarViewControllers接続のViewControllerを呼び出すことができます。私は他のviewControllerに移動するときにUINavigationControllerが提供する同じPushおよびPop効果が必要です。 Googleで掘り下げた後、ナビゲーションスタック内にタブバーのビューコントローラを押すことは、アプリを構造化するための良い方法ではないことがわかります。カスタムトランザクションアニメーションを作成しようとしましたが、UINavigationトランザクションエフェクトと同じではありません。いくつかの提案や解決策を教えてください。ありがとう!!ナビゲーションコントローラに組み込まれているシンプルなビューコントローラからタブバービューコントローラを呼び出すにはどうすればいいですか?

+0

を呼び出すことができ、あなたが右、通常のビューコントローラからUITabbarControllerを開く必要があり、タブのナビゲーションとビューコントローラの各

let firstViewController = FirstViewController() let firstNavigationController = UINavigationController(rootViewController: firstViewController) // other setter tabBarController.viewControllers = [ firstNavigationController ] 

を意味することができますか? – Nirmalsinh

+0

はい@Nirmalsinh。 –

答えて

1

UITabbarControllerを直接ウィンドウのrootViewControllerに設定できます。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
_tabObj = (TabbarViewController*) [storyboard instantiateViewControllerWithIdentifier:@"TabbarViewController"]; 
self.window.rootViewController = _tabObj; 

上記のコードを確認してください。

+0

もう一つのオプションは単純な 'present modally'も動作します –

+0

現在モーダルでUINavigationControllerのようなアニメーションを与えませんpushアニメーション –

0

Nirmalsinhの答えでは、UITabBarControllerDelegateself.window.rootViewControllerとするビューコントローラを設定でき、UITabBarControllerがその内部にあるはずです。

var tabBarController: UITabBarController 

は、あなたがしてFirstViewControllerの内側に、あなたは

let secondViewController = SecondViewController() 
navigationController?.pushViewController(SecondViewController, animated: true) 
関連する問題