2017-08-03 21 views
1

ハンバーガーメニューのmasterDetailアプリを実装しようとしています。 アンドロイドで動作しますが、iOSで「FileNotFoundException」が発生してクラッシュし、アイコンの代わりにデフォルトが表示されます。ハンバーガーメニューがiOSに表示されません。プリズム問題、Xamarin問題、または私の問題

iOSにアイコンを追加しました。リソースプロジェクトが表示されず、マスターページとナビゲーションページの両方にアイコンが表示されます。

何か間違っていますか? 回避策はありますか? おかげ

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> 

答えて

0
あなたは内のコンテンツを持つことはできません

あなたのNavigationPage。 NavigationPage内のすべてのXAMLを削除します。このサンプルでは

ルック:https://github.com/xamarin/xamarin-forms-samples/tree/master/Navigation/MasterDetailPage

+0

こんにちは感謝が、それはコピー&ペーストmistake.thatが空のでした。コンテンツページにアイコンを設定することで、「filenotfound」でクラッシュすると思われてもアイコンが表示されます。それは前方にナビゲートするときにHamburger.pngの代わりに戻る矢印withtitleを表示することになっていますか? – developer9969

+0

ハンバーガーアイコンを削除した場合、それは機能しますか?もしそうなら、あなたはそれが何であるかを知っています。 –

+0

ハンバーガーアイコンをナビゲーションページに追加せず、マスターに追加します。 –

1

マスターページのアイコンを指定してみませんMasterDetailたくさん

app.xaml

public MasterPage() 
{ 
    InitializeComponent(); 
    if (Device.RuntimePlatform == Device.iOS) 
    { 
     Icon = "menu.png"; 
    } 
} 
関連する問題