siwftui - forceUnwrap https://forceunwrap.com Lift your Swift skills & career to the next level Sun, 10 Jul 2022 21:16:46 +0000 en-US hourly 1 https://wordpress.org/?v=7.0 https://forceunwrap.com/wp-content/uploads/2023/03/cropped-ForceUnwrap-32x32.jpg siwftui - forceUnwrap https://forceunwrap.com 32 32 SwiftUI TabView select any tab https://forceunwrap.com/swiftui-tabview-select-any-tab/ https://forceunwrap.com/swiftui-tabview-select-any-tab/#respond Sun, 10 Jul 2022 21:14:32 +0000 https://forceunwrap.com/?p=191

TabView sample with tabs from enum.

import SwiftUI

struct CustomTabBarView: View {
    @State var selectedTab: TabBarItem
    
    enum TabBarItem: String {
        case car
        case motorcycle
        
        var title: String {
            switch self {
            case .car:
                return "Car"
            case .motorcycle:
                return "Motorcycle"
            }
        }
        
        var imageName: String {
            switch self {
            case .car:
                return "car"
            case .motorcycle:
                return "bicycle"
            }
        }
    }
    
    var body: some View {
        TabView(selection: $selectedTab) {
            Text("Car 🚗🚗🚗")
                .tag(TabBarItem.car)
                .tabItem {
                    Label(TabBarItem.car.title, systemImage: TabBarItem.car.imageName)
                }
            
            Text("Motorcycle 🏍🏍🏍")
                .tag(TabBarItem.motorcycle)
                .tabItem {
                    Label(TabBarItem.motorcycle.title, systemImage: TabBarItem.motorcycle.imageName)
                }
        }
    }
}

You can now use the TabView in your navigation. This allows setting any tab as active tab.

import SwiftUI

struct ContentView: View {
    var body: some View {
        CustomTabBarView(selectedTab: .motorcycle)
    }
}

The post SwiftUI TabView select any tab first appeared on forceUnwrap.

]]>
https://forceunwrap.com/swiftui-tabview-select-any-tab/feed/ 0