C# Xamarin.Forms ios Navigation.PushAsync 无法正常工作
C# Xamarin.Forms ios Navigation.PushAsync not working properly
我有 xamrin.forms 个项目,同时包含 Android 和 iOS。我只有简单的 2 页,我从另一个页面调用一个。在 android 上,一切都正常工作,但在 iOS 上,任何对表单的调用(navigation.PushAsync、DisplayAlert、...)都无法正常工作(什么都不做),直到我将应用程序放到睡眠(将其置于后台),然后当我重新加载它时,一切都开始正常工作。
这就是我在 App.xaml.cs
中创建第一页的方式
var page = new NavigationPage(new FirstPage());
MainPage = page;
我第一页的按钮命令需要这样:
FormsNavigation.PushAsync(secondPage, true);
我已经尝试将 Push 包装到 Device.BeginInvokeOnMainThread 但没有结果。
在 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));
}
我有 xamrin.forms 个项目,同时包含 Android 和 iOS。我只有简单的 2 页,我从另一个页面调用一个。在 android 上,一切都正常工作,但在 iOS 上,任何对表单的调用(navigation.PushAsync、DisplayAlert、...)都无法正常工作(什么都不做),直到我将应用程序放到睡眠(将其置于后台),然后当我重新加载它时,一切都开始正常工作。
这就是我在 App.xaml.cs
中创建第一页的方式var page = new NavigationPage(new FirstPage());
MainPage = page;
我第一页的按钮命令需要这样:
FormsNavigation.PushAsync(secondPage, true);
我已经尝试将 Push 包装到 Device.BeginInvokeOnMainThread 但没有结果。
在 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));
}