So, for this app I need to make a custom styled tabview and I've started with the code below
import SwiftUI
enum Tab{
case first
case second
}
struct ContentView: View {
@State private var selectedTab: Tab = .first
var body: some View {
VStack{
switch selectedTab {
case .first:
NavigationView{
First()
}
case .second:
NavigationView{
Second()
}
}
CustomTabView(selectedTab: $selectedTab)
}
}
}
struct CustomTabView: View{
@Binding var selectedTab: Tab
var body: some View {
HStack{
Button {
selectedTab = .first
} label:{
VStack{
Image(systemName: "film")
.resizable()
.scaledToFit()
.frame(width:25,height: 25)
Text("First")
.foregroundColor(.primary)
}
}
Button {
selectedTab = .second
} label:{
VStack{
Image(systemName: "house")
.resizable()
.scaledToFit()
.frame(width:25,height: 25)
Text("Second")
.foregroundColor(.primary)
}
}
}
}
}
struct First: View{
var body: some View{
Color(.systemGray6).ignoresSafeArea()
navigationTitle("First")
}
}
struct Second: View{
var body: some View{
Color(.systemGray4).ignoresSafeArea()
navigationTitle("Second")
}
}
While compiling the code and starting the simulation to see how it looks i get the loop error Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee1f2aff8) I tried renaming classes in hopes that they might overlap and cases, but from my perspective I really can't figure out why it's returning the loop error since I've already done custom tabviews in other apps. Help would be really appreciated. Thank you!