iOS 上未显示汉堡菜单。棱镜问题、Xamarin 问题或我的问题

Hamburger menu not showing on iOS . Prism issue, Xamarin issue or my issue

我正在尝试实现带有汉堡菜单的 masterDetail 应用程序。 它在 android 中工作,但在 iOS 和 "FileNotFoundException" 上崩溃并显示默认而不是图标。

我已将图标添加到 iOS。资源项目,但仍然没有显示,主页面和导航页面都有图标。

我是不是做错了什么? 任何解决方法? 非常感谢

app.xaml

    public partial class App : PrismApplication
    {
        public App(IPlatformInitializer initializer = null) : base(initializer) { }

        protected override void OnInitialized()
        {
            try
            {
                InitializeComponent();

                NavigationService.NavigateAsync("MainMasterDetail/MyNavigationPage/MainPage",animated:false);
            }
            catch (Exception e)
            {
               Debug.WriteLine(e.ToString());
            }           
        }

        protected override void RegisterTypes()
        {
            Container.RegisterTypeForNavigation<MainMasterDetail,MainMasterDetailViewModel>();
            Container.RegisterTypeForNavigation<MyNavigationPage,MyNavigationPageViewModel>();
            Container.RegisterTypeForNavigation<MainPage>();
            Container.RegisterTypeForNavigation<ViewA,ViewAViewModel>();
            Container.RegisterTypeForNavigation<ViewB,ViewBViewModel>();

        }
    }

MainMasterDetails.xaml

        <?xml version="1.0" encoding="utf-8" ?>
        <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
                          xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                          xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
                          prism:ViewModelLocator.AutowireViewModel="True"
                          x:Class="HelloBurgerMenu.Views.MainMasterDetail"
                          Title="MainMasterDetail" Icon="humburger.png">
            <MasterDetailPage.Master>
                <ContentPage Title="Default">
                    <StackLayout>
                        <Button Text="MainPage" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/MainPage" />
                        <Button Text="ViewA" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/ViewA" />
                        <Button Text="ViewB" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/ViewB" />
                    </StackLayout>
                </ContentPage>
            </MasterDetailPage.Master>

        </MasterDetailPage>


MyNavigationPage

    <?xml version="1.0" encoding="utf-8" ?>
    <NavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
                    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                    xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
                    prism:ViewModelLocator.AutowireViewModel="True"
                    x:Class="HelloBurgerMenu.Views.MyNavigationPage"
                    Icon="humburger.png">

    </NavigationPage>

尝试在主页而不是主页详细信息中指定图标

 public MasterPage()
 {
    InitializeComponent();
    if (Device.RuntimePlatform == Device.iOS)
    {
       Icon = "menu.png";
    } 
 }

您的 NavigationPage 中不能有内容。删除 NavigationPage 中的所有 XAML。

看看这个样本:https://github.com/xamarin/xamarin-forms-samples/tree/master/Navigation/MasterDetailPage