[SwiftUI]Picker, tag

힐링힐링·2023년 12월 1일
0

SwiftUI

목록 보기
5/14

Picker에서 Text(name).tag(code)쓰면 name 선택시 code값 받아올수있음

상황

화면에서는 name이 보이고 따로 Code를 저장해놔야되는 상황

예시

SwiftUI에서 Picker를 사용하여 언어를 선택하면 해당 언어의 code 값을 저장하는 예제 코드를 아래에 제시합니다.
이 예제에서는 Language 구조체를 사용하고 @State를 활용하여 선택된 언어의 code 값 저장합니다.

struct Language: Hashable {
    let code: String
    let name: String
}

struct ContentView: View {
    @State private var selectedLanguageID: String = "ko"

    let languages: [Language] = [
        Language(code: "ko", name: "한국어"),
        Language(code: "en", name: "영어"),
        Language(code: "ja", name: "일본어"),
        // ... 다른 언어들 추가
    ]

    var body: some View {
        VStack {
            Picker("Select Language", selection: $selectedLanguageID) {
                ForEach(languages, id: \.self) { language in
                    Text(language.name).tag(language.code)
                }
            }
            .pickerStyle(MenuPickerStyle())

            Text("Selected Language ID: \(selectedLanguageID)")
        }
        .padding()
    }
}
#Preview {
    ContentView()
}

업로드중..

profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글