在页面加载之前调用 OnNavigatedTo iOS

OnNavigatedTo called before page has loaded in iOS

我注意到当 运行 iPhone 上的 iOS 版本正在加载我的视图模型并且在页面实际显示在屏幕,当 OnNavigatedTo 中的逻辑与屏幕上的内容不对应时,它会导致一些奇怪的行为。

首先,这是正确的行为吗?

其次,有什么方法可以判断页面真正显示的时间?

OnNavigatedTo 在调用 Xamarin.Forms Navigation.PushModalAsync 或 Navigation.PushAsync 之后直接调用。这是导航过程的最后一步。你可以在这里看到:

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

根据您的视图的复杂程度和需要渲染的程度,它可能会导致视图渲染延迟。我不确定 OnNavigatedTo 中的任何代码如何导致任何奇怪的行为,因为至少您的所有数据都应该已经加载并准备好显示。