Xamarin Forms ios 显示 "default" 而不是汉堡包图标

Xamarin Forms ios displaying "default" instead of Hamburger Icon

您好,我正在使用 Prism 创建一个 Xamarin Forms 应用程序,除一个小 UI 问题外,一切都很顺利 运行。 ios 版本显示以下内容:

汉堡包菜单未显示,取而代之的是一段标记为“默认”的文本。此问题仅出现在 ios 版本中。我研究了这个问题,有人提到您必须将其包装在导航页面中。但是在我的应用程序启动时,我使用棱镜导航服务将页面包装在导航页面中:

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

如果有人以前有过这种经历,那将是一个创造帮助 感谢阅读:)

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);
}