フォーム依存サービスでビューコントローラを表示しようとしています。しかし、私は黒い画面が表示され続けます。私はSwiftをXcodeで使用してもXamarinを使用しないと動作させることができます。InstantiateViewController()コールでストーリーボードからロードしないビューを表示
コントローラのアウトレットもロードされません。奇妙なことがvc.View
への変更が表示されます。それは、空のビューを作成していて、ストーリーボードから実際にロードしていないかのようです。
var storyboard = UIStoryboard.FromName("StoryboardView", null);
var controller = storyboard.InstantiateViewController("StoryboardViewVC");
var window = UIApplication.SharedApplication.KeyWindow;
var vc = window.RootViewController;
while (vc.PresentedViewController != null)
{
vc = vc.PresentedViewController;
}
vc.PresentViewController(controller, true, null);
問題が解決しないLoadViewIfNeeded()
への呼び出しを追加:次のように
私のコードです。
ストーリーボードとコントローラの名前が一致していることを再確認しました。私は答えを探しましたが、私が見つけているのは、ストーリーボードやペン先からコントローラをロードするコードを書いていないことです。
"StoryboardViewVC"をRootViewControllerにしますか?その場合:window.RootViewController = controller。それ以外の場合は、 whileループの目標は何ですか?それは私に邪魔しているように見えます。それを取り除こうとしましたか? – xleon
@xleonいいえ、私はビューコントローラをモーダルにしたいと思います。これを行うには、コントローラーからのプレゼンテーションが必要です。これは依存関係サービスを介してXamarin.Formsから呼び出され、フォームは私の知る限り、ページが使用するVCを公開しません。私は手を少し汚くし、最も適切なVCを自分自身、したがってwhileループを見つける必要があります。それでも、これは、コントローラが提示される前からストーリーボードからロードされていないように見える理由を説明していません。 – BergQuester