2016-12-05 7 views
0

MainViewといい、となります。私は、それぞれChildOneViewChildTwoViewと呼ばれる2つの他のUIViewControllerを持っていて、それぞれが.storyboardChildOneView.storyboardおよびChildTwoView.storyboardです。Xamarin.iOS:UI用の独自の.storyboardを持つ各ViewControllerで、TabBarControllerに新しいViewControllerを追加する方法

MainView.storyboardは、TabBarと他には何もありません。各Childストーリーボードには、その名前のLabelのみが含まれています。まったくのセグもありません。ナビゲーションはMvvmCrossによって管理されることを意図しています。私が達成したい、そして、MainView.csから、どのようにないアイデアを持っていない何

ChildOneViewChildTwoViewがそれらに対応する.storyboard sからロードされた彼らのUIを持つ、MainViewで新しいタブ項目としてChildOneViewChildTwoViewをインスタンス化します。ナビゲーションはMvvmCrossによって管理されます。

私はコードからこれらのことを行うための答えを探しましたが、私はただ一つのストーリーボードを使っているものだけを見つけました。どのようにこれを達成するためのヒント?

答えて

1

コードから、あなたが別のストーリーボードからの新しいインスタンスを作成することができます。そして、あなたとあなたのViewControllersの新しいインスタンスを作成することができます

UIStoryboard childOneSb = UIStoryboard.FromName("ChildOneView", null); 
UIStoryboard childTwoSb = UIStoryboard.FromName("ChildTwoView", null); 

ChildOneView_VC vc1 = childOneSb.InstantiateViewController("ChildOneView") as ChildOneView; 
ChildTwoView_VC vc2 = childTwoSb.InstantiateViewController("ChildTwoView") as ChildTwoView; 

そして、あなたがそれらを置くことができますあなたのUITabBarController

PS:「あなたの `UITabBarController`に入れ、」XCodeのか、Xamarinデザイナー

+0

でストーリーボードIDとしてChildOneViewChildTwoViewを置くことを忘れないでください - >私はこれをどのように行うことができますか? (申し訳ありません、私はまだiOSを初めて使っています)。私は 'TabBarController.AddChildViewController(ViewController)'に対して 'MainView.ViewDidLoad()'を試みましたが、 'TabBarController'はnullを返しています。 – batrand

+1

'UITabBarController'をサブクラス化し、あなたのVCを' ViewControllers'プロパティに追加する必要があります。あなたは良い例を見つけることができます[このリンク(公式のXamarinのドキュメント)](https://developer.xamarin.com/recipes/ios/content_controls/tab_bar/create_a_tab_bar/) – Nerkyator

関連する問題