2

ビュースタックの最上位の ViewController を見つけて、小さなポップアップを表示したいと考えています。これを行うために、キー ウィンドウ rootviewcontroller の NavigationController を見つけます。

var root = UIApplication.SharedApplication.KeyWindow.RootViewController.NavigationController;
var ctrl = rootNav.TopViewController as ViewControllerBase; // our own VC
return ctrl != null ? ctrl.Popup : null;

これはデバッグ モードで機能します。リリース モードでは、「RootViewController」は null ですか? MVX はこれに対して別のソリューションを提供していますか? UINavigationController にアクセスするにはどうすればよいですか?

4

2 に答える 2

2

デバッグからリリースへの違いは、これが Xamarin.iOS/MonoTouch 効果であることを示唆しています。おそらくリンカー設定に関係しています。

この問題が何であるかを追跡し、修正することはおそらく価値があります。

ただし、迅速な修正が必要な場合 - 代わりに MvvmCross の RootViewController への保存された参照を使用する場合は、継承元のカスタム プレゼンターでこれを行うことができますMvxTouchViewPresenter- MvxTouchViewPresenter.cs#L158を参照してください。

于 2013-07-15T14:49:29.443 に答える