diff --git a/BikeView.swift b/BikeView.swift index 2f366a1..72e9247 100644 --- a/BikeView.swift +++ b/BikeView.swift @@ -4,6 +4,10 @@ import SwiftUI struct BikeView: View { + static var title = "Bike" + static var image = "bicycle" + + var bike = Bike(name: "Fahrrad", price: 11.31, color: Color.cyan) var body: some View { VStack{ diff --git a/ContentView.swift b/ContentView.swift index 0c22fca..885f288 100644 --- a/ContentView.swift +++ b/ContentView.swift @@ -7,19 +7,35 @@ enum TabLabel: String { case trains case cars var title: String { rawValue.capitalized } + var image: String { switch self { + case .bikes: + "bicycle" + case .trains: + "train.side.front.car" + case .cars: + "hand.draw.fill" + } } } +// +//func tab(_ contentType: C.Type) +//-> Tab { +// Tab(C.title, systemImage: C.image) { +// C() +// } +//} + struct ContentView: View { var body: some View { TabView { - Tab(TabLabel.bikes.title, systemImage: "bicycle") { + Tab(TabLabel.bikes.title, systemImage: TabLabel.bikes.image) { BikeView() } - Tab(TabLabel.bikes.title, systemImage: "train.side.front.car") { + Tab(TabLabel.bikes.title, systemImage: TabLabel.trains.image) { TrainView() } - Tab("drücken", systemImage: "car") { + Tab("drücken", systemImage: TabLabel.cars.image) { SwapperView() } } diff --git a/Models.swift b/Models.swift index 9bff369..30b8247 100644 --- a/Models.swift +++ b/Models.swift @@ -6,6 +6,18 @@ protocol Vehicle { var name: String { get } var color: Color { get set } } + +protocol TabContent { + init() //title: String, image: String) + +// <#statements#> +// } + + + static var title: String { get } + static var image: String { get } +} + struct Train: Vehicle, CustomStringConvertible , CustomLocalizedStringResourceConvertible { var name: String var color: Color diff --git a/SwapperView.swift b/SwapperView.swift index 4124b87..0d769a4 100644 --- a/SwapperView.swift +++ b/SwapperView.swift @@ -1,7 +1,10 @@ import SwiftUI struct SwapperView: View{ - + static var title = "Swap" + static var image = "rectangle.2.swap" + + @State var sw = Swapper(a: "Apfel", b: "Banana") @State var a = "Apfel" @State var b = "Banane" diff --git a/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate b/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate index f29ddb1..b3b53cd 100644 Binary files a/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate and b/TheSwiftWeek.xcodeproj/project.xcworkspace/xcuserdata/rohing73.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/TrainView.swift b/TrainView.swift index 99672b2..8b90d6d 100644 --- a/TrainView.swift +++ b/TrainView.swift @@ -3,7 +3,10 @@ import SwiftUI -struct TrainView: View { +struct TrainView: View , TabContent { + static var title = "Train" + static var image = "train.side.front.car" + var train = Train(name: "RE3412", color: Color.yellow, delay: 2 ){ Bike.trek} var train2 = Train(name: "RE1423", delay: 1){ Bike(name: "Bulls", price: 1.90, color: Color.red)}