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 tipoVisibilityy 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,.tabBary.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
HomeViewcon unnavigationLinkque 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.tabBarcuando naveguemos alDetailView.
struct HomeView: View {var body: some View {NavigationStack {NavigationLink("Navigate to detail") {DetailView().toolbar(.hidden, for: .tabBar)}}}}
