2016-08-31 4 views
0

iPhoneでiOSバージョンを実行しているときに、ビューモデルがロードされていて、OnNavigatedToが呼び出されて実際にページが画面に表示され、 OnNavigatedToのロジックが画面上のロジックに対応していないと、奇妙な動作になります。OnNavigatedToがiOSに読み込まれる前に呼び出された

まず、正しい動作ですか?

第2に、ページが実際に表示された時期を判断する方法はありますか?

答えて

0

OnNavigatedToは、Xamarin.Forms Navigation.PushModalAsyncまたはNavigation.PushAsyncの呼び出しの直後に呼び出されます。これはナビゲーションプロセスの最後のステップです。あなたはここで見ることができます。

https://github.com/PrismLibrary/Prism/blob/master/Source/Xamarin/Prism.Forms/Navigation/PageNavigationService.cs#L353

レンダリングする方法複雑なビューであり、どのくらいのニーズに応じて、それはあなたのビューのレンダリングに遅延が発生する可能性があります。私はOnNavigatedToのどのコードがどのように変わった動作につながるか分かりません。なぜなら、少なくともすべてのデータが既に読み込まれて表示されるべきだからです。

+0

レンダリングの時期を知る方法はありませんか? 問題が2ページあります。最初のものはハイブリッドWebビューを使用していて、ロードされたらJavaScriptを実行したいと思います。もう1つは接続のポーリングを開始し、ページの読み込みを停止します。私は、2番目の問題は主なスレッドを誤ってブロックしていた問題かもしれないが、それでもまだレンダリングされたイベントで解決できると思う。 – Troto

+0

私は考えることができません。ページも、ページが表示される前に表示されます。 https://developer.xamarin.com/api/member/Xamarin.Forms.Page.OnAppearing/ 2番目の問題は、ページが表示されるタイミングに関係なく非同期にすることで解決できます。 –

関連する問題