2017-10-16 1 views
1

Xamarin.Forms에서 MasterDetailPage를 사용하고 있습니다. OnAppearing() 메서드에서 BackgroundImage 속성을 설정했습니다. 그것은 안드로이드에서 잘 작동합니다. 하지만, IOS 이미지에서는 표시되지 않습니다.MasterDetailPage xamarin.forms의 IOS에 백그라운드 이미지가 표시되지 않습니다.

내 코드 : XAML

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     x:Class="EzySales.Views.MainPageMaster" 
     Title="Master" > 
<StackLayout VerticalOptions="FillAndExpand"> 
    <ListView x:Name="MenuItemsListView" WidthRequest="200" 
      HasUnevenRows="true" 
      ItemsSource="{Binding MenuItems}" 
      SeparatorColor="White"> 
     <ListView.Header> 
      <Grid > 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="10"/> 
        <ColumnDefinition Width="*"/> 
        <ColumnDefinition Width="10"/> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="80"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="10"/> 
       </Grid.RowDefinitions> 
       <Image Source="logo.png" Grid.Row="1" Grid.Column="1"></Image> 
      </Grid> 
     </ListView.Header> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell Grid.Row="2"> 
        <StackLayout Padding="15,10" Orientation="Horizontal"> 
         <Image Source="{Binding Icon}" 
           WidthRequest="30" 
           HeightRequest="30" Margin="0,0,5,0" 
           VerticalOptions="Center" /> 
         <Label VerticalOptions="FillAndExpand" 
          VerticalTextAlignment="Center" 
          HorizontalTextAlignment="Center"      
          Text="{Binding Title}" 
          TextColor="White"      
          FontSize="16" FontAttributes="Bold" /> 
        </StackLayout> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</StackLayout> 

MainPageMaster.xaml.cs

protected override void OnAppearing() 
    { 
     this.BackgroundImage = "masterpagebg.png";   
    } 

이미지 리소스 폴더에서 사용할 수 있습니다.

답변

1

I는이 같은 문제를 해결하고 얼굴.

당신은 결과

를 달성하기 위해 상대 레이아웃을 사용할 수 있습니다 ..이이 도움이되기를 바랍니다 시도
<RelativeLayout> 
    <Image Source="masterpagebg.png" Opacity="1" 
       RelativeLayout.WidthConstraint= 
        "{ConstraintExpression Type=RelativeToParent, Property=Width}" 
       RelativeLayout.HeightConstraint= 
        "{ConstraintExpression Type=RelativeToParent, Property=Height}"/> 

     <ListView RelativeLayout.WidthConstraint= 
       "{ConstraintExpression Type=RelativeToParent, Property=Width}" 
      RelativeLayout.HeightConstraint= 
       "{ConstraintExpression Type=RelativeToParent, Property=Height}" x:Name="MenuItemsListView" WidthRequest="200" 
     HasUnevenRows="true" 
     ItemsSource="{Binding MenuItems}" 
     SeparatorColor="White"> 
    <ListView.Header> 
     <Grid > 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="10"/> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="10"/> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="30"/> 
       <RowDefinition Height="80"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="10"/> 
      </Grid.RowDefinitions> 
      <Image Source="logo.png" Grid.Row="1" Grid.Column="1"></Image> 
     </Grid> 
    </ListView.Header> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell Grid.Row="2"> 
       <StackLayout Padding="15,10" Orientation="Horizontal"> 
        <Image Source="{Binding Icon}" 
          WidthRequest="30" 
          HeightRequest="30" Margin="0,0,5,0" 
          VerticalOptions="Center" /> 
        <Label VerticalOptions="FillAndExpand" 
         VerticalTextAlignment="Center" 
         HorizontalTextAlignment="Center"      
         Text="{Binding Title}" 
         TextColor="White"      
         FontSize="16" FontAttributes="Bold" /> 
       </StackLayout> 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
    </RelativeLayout> 
+0

여전히 IOS에서 작동하지 않습니다. 안드로이드에서 잘 작동합니다. –

+0

귀하의 이미지가 귀하의 솔루션에 올바르게 추가되지 않았다고 생각합니다. 따라서 솔루션에서 이미지를 제거하고 다시 추가하십시오. –

+0

삭제하고 다시 추가했습니다. 그러나 여전히 작동하지 않습니다. –

0

이미지가 iOS 프로젝트로 BundleResource로 설정되어 있는지 확인해야합니다. 그렇지 않으면 설정해야합니다. 나는이 문제에 약간의 어려움을 겪었다.

enter image description here

+0

예, BundleResource.Still가 작동하지로 빌드 작업 설정! –

관련 문제