アングリーハッカー、
私の簡単な提案は、zoul one に従うことです。あなたが望むものを達成する最も簡単な方法は、 を作成し、UINavigationControllerそれを他のコントローラーのコンテインメント コントローラーとして使用することだと思います。
したがって、方法は で を作成し、UINavigationControllerそれAppDelegateを として設定することができrootViewControllerますwindow。を作成するときUINavigationControllerに、ルート コントローラー (この場合はMainForm) を渡すことができます。
MT では次のようになります (手で書いたのでコードを信頼しないでください)。
private UINavigationController navController;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
navController = new UINavigationController(new MainForm());
window.RootViewController = navController;
window.MakeKeyAndVisible ();
return true;
}
これで、アプリを起動するとMainFormのビューが表示され、さまざまなコントローラー間を移動できるようになります。
たとえば、次のようMainFormに移動できます。DetailForm
this.NavigationController.PushViewController(new DetailForm(), true);
内も同様DetailFormですMoreMinorDetails。
MoreMinorDetailsfromをDetailForm使用するなど、一歩戻るには
this.NavigationController.PopViewControllerAnimated(false);
ルート コントローラ ( MainForm)に移動するには、DetailFormまたはMoreMinorDetails使用します。
this.NavigationController.PopToRootViewControllerAnimated(false);
スペースについては、問題ありません。あなたには2つの方法があると思います。1 つ目は、ナビゲーション コントローラー バー内で作成したバー アイテムを移動することです。各コントローラーで、どのボタンを表示するかどうかを決定できます。2 つ目は、ナビゲーション バーを完全に非表示にして、作成済みのボタンを使用することです。
どちらの方法でも、これらのボタンにアクションをアタッチして、コントローラー間のナビゲーションを許可できます。さらに、最初を選択すると、ナビゲーション バーの戻るボタンを非表示にすることもできます。
覚えておくべき簡単な注意事項は次のとおりです。
ナビゲーション バーは に固有であるためUINavigationController、ナビゲーション コントローラーにプッシュするすべてのコントローラーに対してバーの状態が維持されます。この概念を説明するために、A と B という 2 つのコントローラーがあるとします。最初に A を押し、そのViewWillAppearメソッドでボタンを非表示にします。B を押しても、ボタンは表示されません。B のボタンを再表示したい場合は、そのViewWillAppearメソッド (以前のように) で遊ぶことができます...
遊びたくない場合は、クラスUINavigationControllerによって提供される新しいビュー コントローラー コンテインメント機能を確認する必要があります。UIViewControllerこれは iOS >= 5 からのみ適用されます。同じUINavigationControllerメカニズムの効果を得ることができますが、達成するのがより困難になる可能性があります。
それが役立つことを願っています。