簡體   English   中英

如何在 SwiftUI 中制作時區選擇器?

[英]How to make a timezone Picker in SwiftUI?

我是 SwiftUI 的新手。 我想為我的示例項目制作一個 TimeZone PickerView。

就像這張圖所示...

經過幾天的工作,我仍然找不到實現目標的方法,包括時區搜索欄。 我不知道為什么我的代碼總是卡住。 在我選擇了第一個選項后,我無法再次選擇其他選項。 在這種情況下,我什至無法再單擊 TimeZone Picker 區域。 就是卡住了沒反應……

這是我現在的代碼:

    struct myPicker: View {
    var timezone_area = ["TimeZ1", "TimeZ2", "TimeZ3", "TimeZ4", "TimeZ5", "TimeZ6", "TimeZ7", "TimeZ8", "TimeZ9", "TimeZ10"]
    @State var TZPickerIndex: Int = 0
    var body: some View {
        NavigationView {
            Form {
                Section {
                    Picker(selection: $TZPickerIndex, label: Text("TimeZone")) {
                        ForEach(0 ..< timezone_area.count) {
                            Text(self.timezone_area[$0]).tag($0)
                        }
                    }
                }.padding()
            }
        }
    }
}

有人可以告訴我如何制作或我應該使用/搜索哪種關鍵字? 感謝幫助。

卡住是因為 iOS 模擬器錯誤,如果您在真實設備上測試您的代碼,它應該可以正常工作。 使用TimeZone這可以幫助您了解如何在代碼中使用時區獲取 iOS 時區中的城市和國家/地區列表

首先,創建我們自己的 countryList 字符串數組並獲取系統默認時區列表。

@State var allCitiesTZ: [String] = []
@State var tzPickerIndex: Int = 0
@State var txtSearchField: String = ""
let currentTZ = TimeZone.current //show current timezone where you at 
let TZidentifiers = TimeZone.knownTimeZoneIdentifiers //get all timezone list from system defualts

現在我們准備好讓我們的時區選擇器(表單+選擇器)和搜索欄(文本字段)如下圖:

在此處輸入圖片說明

請忽略那個紅色警告,我只是將它粘貼到我的 Xcode 空白項目中。 因為代碼太長,貼不上來。 謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM