Cómo ocultar un TabBar en SwiftUI
Marcelo Laprea
12 septiembre, 20232min de lectura
A partir de iOS 16 podemos hacer uso de toolbar(_:for:)
para ocultar el TabBar
en nuestra aplicación. Este método recibe dos parámetros visibility
y bars
. Veamos para que sirve cada uno:
visibility
: es de tipoVisibility
y especifica la visibilidad que se le quiere dar al toolbar.
public enum Visibility {case automaticcase hiddencase visible}
Para nuestro ejemplo usaremos .hidden
ya que lo que queremos es ocultar el TabBar.
bars
: la barra a la que quieres actualizar su visibilidad. Podemos usar las siguientes opciones:.bottomBar
,.navigationBar
,.tabBar
y.automatic
.
Ejemplo de como ocultar un TabBar
- Creamos un
TabBar
, y dentro añadiremos una vista llamadaHomeView
.
struct ContentView: View {var body: some View {TabView {HomeView().tabItem {Label("", systemImage: "house.fill")}}}}
- Creamos la vista
HomeView
con unnavigationLink
que nos llevará a una nueva vista llamadaDetailView
.
struct HomeView: View {var body: some View {NavigationStack {NavigationLink("Navigate to detail") {DetailView()}}}}struct DetailView: View {var body: some View {Text("Detail View")}}
- Hacemos uso del método
toolbar(_:for:)
, definiendo que queremos ocultar el.tabBar
cuando naveguemos alDetailView
.
struct HomeView: View {var body: some View {NavigationStack {NavigationLink("Navigate to detail") {DetailView().toolbar(.hidden, for: .tabBar)}}}}