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

时间:2017-03-01 15:04:52

标签: ios xamarin.ios xamarin.forms prism

您好,我正在使用Prism创建一个Xamarin Forms应用程序,一切运行顺畅,只会出现一个小UI问题。 ios版本显示以下内容:

enter image description here

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

protected override void OnInitialized()
{
    InitializeComponent();
    NavigationService.navigateAsync("WelcomePage/NavPage/TBHomePage");
}

如果有人在此之前遇到过这种情况,那将是一个创造帮助 感谢您阅读:)

1 个答案:

答案 0 :(得分: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.

然后确保您的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);
}