Xamarin表单ios显示"默认"而不是汉堡图标

whi*_*der 3 prism xamarin.ios ios xamarin.forms

大家好,我正在用Prism创建一个Xamarin Forms应用程序,一切运行顺畅,只需要一个小UI问题.ios版本显示以下内容:

在此输入图像描述

汉堡菜单未显示,取而代之的是一段标有"默认"的文本.问题仅发生在ios版本中.我研究了这个问题,有些人提到你必须将它包装在导航页面中.但是在我的应用程序启动时,我使用prism导航服务将页面包装在导航页面中:

protected override void OnInitialized()
{
    InitializeComponent();
    NavigationService.navigateAsync("WelcomePage/NavPage/TBHomePage");
}
Run Code Online (Sandbox Code Playgroud)

如果有人经历过此之前它将是一个创建帮助感谢阅读:)

val*_*ero 8

iOS的系统图标中没有汉堡图标.您必须手动添加它.这是一个github项目,我在其中添加了一个菜单图标到Xamarin.Forms项目.

https://github.com/valdetero/SevenDays/blob/master/SevenDays.UI/SevenDays.UI/Views/MenuPage.cs#L17

public class MenuPage : ContentPage
{
    public MenuPage()
    {
        Icon = PlatformImage.Resolver("menu.png");
        Title = "menu"; // The Title property must be set.
Run Code Online (Sandbox Code Playgroud)

然后确保您的Resources文件夹中具有所需的分辨率(1x,@ 2x,@ 3x).

https://github.com/valdetero/SevenDays/tree/master/SevenDays.UI/SevenDays.UI.iOS/Resources

PlatformImage.Resolver 只有格式化每个平台的路径:

public static string Resolver(string image)
{
    return string.Format(Device.OnPlatform("{0}", "{0}", "Assets/{0}"), image);
}
Run Code Online (Sandbox Code Playgroud)