C#Xamarin.Forms ios Navigation.PushAsync工作不正常



我在Android和iOS上都有xamrin.forms项目。我只有简单的两页,我从另一页调用其中一页。在android上,一切都正常工作,但在iOS上,任何对表单的调用(navigation.PushAsync、DisplayAlert…(都无法正常工作(什么都不做(,直到我将应用程序置于睡眠状态(将其置于后台(,然后当我重新加载时,一切都开始正常工作。

这就是我在App.xaml.cs中创建第一个页面的方式

var page = new NavigationPage(new FirstPage());
MainPage = page;

我的第一页的按钮命令调用这个:

FormsNavigation.PushAsync(secondPage, true);

我一直试图将Push包装到Device.BeginVokeOnMainThread,但没有结果。

在Xamarin.Forms中,使用NavigationPage导航到ContentPage时,请使用await Navigation.PushAsync

而且,因为所有UI动画都必须在主UI线程上调用,所以我建议将其包装为Device.InvokeOnMainThreadAsync

async Task NavigateToSecondPage()
{
var secondPage = new SecondPage();
await Device.InvokeOnMainThreadAsync(() => Navigation.PushAsync(secondPage, true));    
}

最新更新