如何在xamarin表单ios中隐藏标签栏导航标题

Posted

技术标签:

【中文标题】如何在xamarin表单ios中隐藏标签栏导航标题【英文标题】:How to hide the tab bar navigation header in xamarin forms ios 【发布时间】:2021-08-29 15:53:11 【问题描述】:

我有一个带有 8 个标签栏的应用程序,我为所有页面使用自定义导航栏。在 ios 中,单击更多标签中的项目时,标签栏标题作为导航栏标题出现,如何隐藏该导航栏标题.

我在 TabbedPage 和 Page1 Xaml 页面中添加了以下代码。它最多可用于 4 个选项卡。但是当点击更多标签项时,标题就来了。

NavigationPage.HasNavigationBar=False;
NavigationPage.HasBackButton="False";

这是我用来添加标签页的代码。

public TabbedPage1()
    
        InitializeComponent();
       
        for(int i = 1; i <= 8; i++)
        
            Page _page = null;
            _page = new Page1();
            _page.Title = "Class" + i.ToString();
            Children.Add(_page);

        
    

我想删除 Class 7 标题,需要将标题放在导航栏之后。

【问题讨论】:

可以附上截图吗?这将有助于更好地理解这个问题。和壳牌一样吗? @Cfun 截图已添加。 【参考方案1】:

不要把 TabbedPage 放在 NavigationPage 里面,这不是一个好的设计。

正确方法:将TabbedPage设置为MainPage,并将子页面包裹在NavigationPage内。

应用

public App()

   InitializeComponent();

   //MainPage = new NavigationPage( new TabbedPage1());  //don't use this way

   MainPage = new TabbedPage1();

标签页

public TabbedPage1()

   InitializeComponent();

   for (int i = 1; i <= 8; i++)
         
     Page _page = null;
     _page = new Page1();
     _page.Title = "Class" + i.ToString();

     NavigationPage navi = new NavigationPage(_page);
     navi.Title = "Page" + i.ToString();
     Children.Add(navi);

   

【讨论】:

以上是关于如何在xamarin表单ios中隐藏标签栏导航标题的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin构成底部导航栏

Xamarin 表单 - 如何在 TabbedView (iOS) 上自定义 VoiceOver

我可以在 Xamarin 表单中有两个标签栏吗?

如何在 Xamarin Forms 中滚动时折叠(隐藏或向上滑动)导航栏(标题栏)?

适用于 UWP 的 Xamarin Forms 顶部导航栏

创建自定义导航栏渲染器以在 xamarin 表单 IOS 项目中添加自定义后退按钮图标