diff --git a/TabMoving/TabMoving/ContentView.swift b/TabMoving/TabMoving/ContentView.swift index 27bdc20..5f55957 100644 --- a/TabMoving/TabMoving/ContentView.swift +++ b/TabMoving/TabMoving/ContentView.swift @@ -22,9 +22,21 @@ struct ListView: View { } } +enum Menu: Int, CaseIterable { + case menu1 = 0 + case menu2 = 1 + + var title: String { + switch self { + case .menu1: return "메뉴1" + case .menu2: return "메뉴2" + } + } +} + struct ContentView: View { - @State private var selectedIndex = 0 - private let menus = ["메뉴1", "메뉴2"] + @State private var selectedIndex = Menu.menu1.rawValue + private let menus: [Menu] = Menu.allCases var body: some View { diff --git a/TabMoving/TabMoving/HeaderTabView.swift b/TabMoving/TabMoving/HeaderTabView.swift index 31a24fe..8fbe73d 100644 --- a/TabMoving/TabMoving/HeaderTabView.swift +++ b/TabMoving/TabMoving/HeaderTabView.swift @@ -2,7 +2,7 @@ import SwiftUI struct HeaderTabView: View { - let menus: [String] + let menus: [Menu] @Binding var activeIndex: Int @State private var barX: CGFloat = 0 @@ -18,7 +18,7 @@ struct HeaderTabView: View { // -> widths[activeIndex] 로 접근 가능 init( activeIndex: Binding, - menus: [String], + menus: [Menu], fullWidth: CGFloat, spacing: CGFloat, horizontalInset: CGFloat @@ -45,7 +45,7 @@ struct HeaderTabView: View { barX = buttonLeadings[row] } } label: { - Text(menus[row]) + Text(menus[row].title) .frame(maxWidth: buttonWidth) // .border(.orange, width: 1) .foregroundColor(.black) @@ -76,7 +76,7 @@ struct HeaderTabView_Previews: PreviewProvider { static var previews: some View { HeaderTabView( activeIndex: .constant(0), - menus: ["menu-A", "munu-B"], + menus: [.menu1, .menu2], fullWidth: UIScreen.main.bounds.width, spacing: 40, horizontalInset: 10)