にルートコントローラーをプッシュしましたUINavigationController
。その rootcontroller クラス内で、UINavigationController
withにアクセスできますthis.NavigationController
ただし、この rootcontroller には ScrollView があり、この ScrollView にサブコントローラー (より正確には、このサブコントローラーのビュー) を追加しています。
このようなサブコントローラー内から UINavigationController にアクセスしたいと思います。次のプロパティはすべて null です
this.NavigationController
this.ParentViewController
this.PresentedViewController
this.PresentingViewController
ObjectiveC では、次のコードを使用できるようです
YourAppDelegate *del = (YourAppDelegate *)[UIApplication sharedApplication].delegate;
[del.navigationController pushViewController:nextViewController animated:YES];
残念ながら、これを MonoTouch の C# にマップする方法がわかりません。次のことを試しましたが、うまくいきません。
UIApplication.SharedApplication.KeyWindow.RootViewController.NavigationController
UINavigationController オブジェクトをすべてのクラス (コンストラクターのパラメーター) に渡すことができることはわかっていますが、それはおそらく最もクリーンな方法ではありません。