import SwiftUI
enum Tab {
case home
case other
//associated value
var textItem: Text {
switch self {
case .home: return Text("Home")
case .other: return Text("Other")
}
}
var imageItem: Image {
switch self {
case .home: return Image(systemName: "house.fill")
case .other: return Image(systemName: "ellipsis")
}
}
}
struct MainTabView: View {
var body: some View {
TabView {
Text("Home")
.tabItem {
Tab.home.imageItem
Tab.home.textItem
}
Text("Other")
.tabItem {
Tab.other.imageItem
Tab.other.textItem
}
}
}
}
struct MainTabView_Previews: PreviewProvider {
static var previews: some View {
MainTabView()
}
}