首页 > 解决方案 > Xamarin 顶部/标题栏不断重新出现 [iOS]

问题描述

我在 MasterDetailPage 中有一个 TabbedPage,并且想要禁用/隐藏顶部/标题栏。但是每次我重新启动应用程序时,标题栏都会重新出现,并且只有在我在选项卡之间导航后才会消失。我尝试在代码中禁用并在 XAML 中禁用,但它总是在应用加载时显示导航栏。只有在我在两个选项卡之间导航后它才会消失。

NavigationPage.SetHasNavigationBar(this, false);OnAppearing函数中使用了构造函数,我正在使用NavigationPage.HasNavigationBar="false".

我也有一个自定义的 TabbedPage,当您启动应用程序时,当前选项卡的背景颜色也会出现故障。但是在使用导航后,它会变成正确的大小。请看下面的截图:

启动应用程序时: 在此处输入图像描述

在选项卡之间导航后:

在此处输入图像描述

有人知道我是否遗漏了重要的东西吗?

标签: c#xamarinxamarin.forms

解决方案


我通过这样做来修复它:

我删除了 TabbedPage XAML 文件中的所有子项,并以编程方式添加了它们。

我有他们这样的(根据 Xamarin docs):

<NavigationPage Title="List" Icon="List" NavigationPage.HasNavigationBar="false">
        <x:Arguments NavigationPage.HasNavigationBar="false">
            <page:ReservationListPage NavigationPage.HasNavigationBar="false"/>
        </x:Arguments>
    </NavigationPage>
    <NavigationPage Title="Map" Icon="Map">
        <x:Arguments>
            <page:MapPage />
        </x:Arguments>
    </NavigationPage>

etc..

我删除了它们并将其添加到我的 CS 文件中:

this.Children.Add(new ReservationListPage()
            {
                Title = "List",
                IconImageSource = "List"
            });

            this.Children.Add(new MapPage()
            {
                Title = "Map",
                IconImageSource = "Map"
            });

推荐阅读