import SwiftUI
struct ContentView: View {
enum TabType {
case skill
case composition
case photograph
case album
case mine
}
private func tabItemTitle(_ type: TabType) -> String {
switch type {
case .skill:
return "技巧"
case .composition:
return "构图"
case .photograph:
return "拍摄"
case .album:
return "相册"
case .mine:
return "我的"
}
}
@State private var selectType: TabType = .skill
var body: some View {
NavigationView {
TabView(selection: $selectType) {
MPSkillView().tabItem {
Label(tabItemTitle(.skill), systemImage: "figure.hiking")
}.tag(TabType.skill)
MPCompositionView().tabItem {
Image(systemName: "book")
Text(tabItemTitle(.composition))
}.tag(TabType.composition)
MPPhotographView().tabItem {
if selectType == .photograph {
Label(tabItemTitle(.photograph), systemImage: "camera.on.rectangle")
} else {
Label(tabItemTitle(.photograph), systemImage: "camera")
}
}.tag(TabType.photograph)
MPAlbumView().tabItem {
Label(tabItemTitle(.album), systemImage: "photo")
}.tag(TabType.album)
MPMineView().tabItem {
Label(tabItemTitle(.mine), systemImage: "person.fill")
}.tag(TabType.mine)
}
}
}
init() {
UITabBar.appearance().backgroundColor = .white
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
示意图: