Xamarin формы - значок меню на IOS
У меня есть это MasterDetailPage
,
На UWP и Android верхний левый значок меню отображается корректно, а на iOS появляется метка "Меню".
У меня есть изображение "Гамбургер" внутри xcassets
и я хотел бы использовать это.
Как я могу сделать это работает?
<?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:views="clr-namespace:Menu_TEST.Views"
x:Class="Menu_TEST.Views.MainPage">
<MasterDetailPage.Master>
<views:MenuPage />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<NavigationPage.Icon>
<OnPlatform x:TypeArguments="FileImageSource">
<On Platform="iOS" Value="Hamburger"/>
</OnPlatform>
</NavigationPage.Icon>
<x:Arguments>
<views:ItemsPage />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
1 ответ
У меня есть изображение "Гамбургер" внутри xcassets, и я хотел бы использовать его.
Если хотите получить изображение от xcassets
, вы можете обратиться к этой дискуссии. Однако это может не работать здесь в MasterDetailPage.Master
. Так что советуем лучше использовать изображение из папки Ресурсы.
<MasterDetailPage.Master>
<views:MenuPage />
</MasterDetailPage.Master>
Из вашего кода, MenuPage
установлен на MasterDetailPage.Master
имущество. Если вы хотите установить значок в верхнем левом углу, вам нужно установить в MenuPage.xaml
следующим образом.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AppMasterDetail.Views.MenuPage"
Title="Menu"
Icon="hamburger.png"> //Here set icon ,image from 'Resources' folder
<StackLayout VerticalOptions="FillAndExpand">
<ListView x:Name="ListViewMenu"
HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Padding="10">
<Label Text="{Binding Title}" FontSize="20"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
Если нет этого hamburger.png
В проекте вы также можете установить заголовок, как сказано в CGPA6.4.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AppMasterDetail.Views.MenuPage"
Title="☰"> //Here change 'Menu' to '☰'
...
</ContentPage>
Вот официальный документ с образцом, на который вы можете сослаться.