带有“空”和 0...9 的 Swift UI 多个选择器

Posted

技术标签:

【中文标题】带有“空”和 0...9 的 Swift UI 多个选择器【英文标题】:Swift UI multiple Picker with "empty" and 0...9 【发布时间】:2020-08-02 20:04:20 【问题描述】:

我想创建一个选择器,其中包含三个数字,每个数字从 0..9 和“空”中选择,然后通过 number1 number2 和 number3 获取这些值

找到了一种与 0..9 一起使用的方法,但我如何使用空的空白选择也可以具有空值

问候亚历克斯

【问题讨论】:

请添加您已有的任何(最少且相关的)代码 【参考方案1】:

我在下面做了一个简单的例子来说明你将如何做到这一点。它允许您选择任意数字,空值标记为nil。这应该更容易从number1 number2 and number3 等处获取值。

struct ContentView: View 
    
    @State private var selection: Int?
    private var formattedSelection: String 
        selection != nil ? String(selection!) : "Empty"
    
    
    var body: some View 
        VStack 
            Text("Selection:  \(formattedSelection)")
            
            Picker("Select number", selection: $selection) 
                Text("Empty").tag(nil as Int?)
                
                // Ranges from 0 to 9
                ForEach(0 ..< 10)  value in
                    Text(String(value)).tag(value as Int?)
                
            
        
    

【讨论】:

我以后如何使用“选择”?它保持在 0 @BigAL82 您可以随时使用selection。如果它看起来没有发生变化,那可能是因为您可能正在将它传递给另一个视图。在这种情况下,您将使用绑定。 @BigAL82 您是否需要更多帮助,或者您是否得到了帮助?如果您有问题,请告诉我(否则您可以将答案标记为已接受)

以上是关于带有“空”和 0...9 的 Swift UI 多个选择器的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Swift 中每个 UI 测试断言的空核心数据开始?

Swift UI:当视图中显示空列表时,如何显示错误消息?

带有嵌套导航视图的 Swift UI

swift UI数组创建BUTTON

如何在 swift 中创建新闻提要 UI

如何在swift ui中使用autoid将带有字段的新文档添加到firebase集合