Hide TabBar in Xamarin Forms Shell
Sorry, don't have enough rep. to comment.
In which class are you doing Shell.SetTabBarIsVisible(Shell.Current, false);
?
Is it the Shell
or Current
that is null if you put it after the constructor?
Edit 30/6/2019:
I have tested a few things in Shell.
Here's a link to the project: https://github.com/JesperBaltzersen/ShellTest
In the class Content1.Xaml.cs
there's a button handler that toggles the tabbar:
public bool NavVisible { get; set; }
void OnButtonTapped(object sender, EventArgs args)
{
NavVisible = !NavVisible;
Shell.SetNavBarIsVisible(this, NavVisible);
}
Hope it helps.
In my case, I need to remove tabbar from child page, then: Shell.TabBarIsVisible="False"
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
Title="Child page from shell"
Shell.TabBarIsVisible="False"
x:Class="AppMvvm.Views.User.LoginPage/>
Another approach:
<Shell
X:Class="..............:
xmlns:sd="..................."
Shell.IsTabBarVisible="False">
</Shell>
TabBarIsVisible
is an attached property of Shell
. You should pass the page as the first parameter in the SetTabBarIsVisible
to tell the shell hiding its tab bar. Use it like:
public AppShell()
{
InitializeComponent();
Shell.SetTabBarIsVisible(this, false);
}
You can also place it on any page which you don't need the tab bar.