SwiftUI Segmented Picker 元素为灰色且禁用

Posted

技术标签:

【中文标题】SwiftUI Segmented Picker 元素为灰色且禁用【英文标题】:SwiftUI Segmented Picker element is grey and disabled 【发布时间】:2020-03-13 16:53:30 【问题描述】:

我已经使用 SwiftUI 在我的项目中添加了一个 Picker (SegmentedPickerStyle),如图所示:

Picker(selection: $selectedType, label: Text("Type")) 
      Text("Translation")
      Text("Highlights")

.pickerStyle(SegmentedPickerStyle())

但由于某种原因,结果(在画布和模拟器中)是灰色的禁用选择器(请参阅随附的屏幕截图)。

我试图实现的目标: 有谁知道我做错了什么?

【问题讨论】:

【参考方案1】:

尝试如下

@State private var selectedType = 0

...

Picker(selection: $selectedType, label: Text("Type")) 
      Text("Translation").tag(0)
      Text("Highlights").tag(1)

.pickerStyle(SegmentedPickerStyle())

【讨论】:

【参考方案2】:

您的选择器有 2 个文本项,“翻译”和“亮点”。因此,您的选择将是这些字符串中的任何一个。 创建一个@State 变量以跟踪该选择何时更改并显示新的“状态”。

@State private var selectedType = "Translation"
...
Picker(selection: $selectedType, label: Text("Type")) 
      Text("Translation")
      Text("Highlights")

.pickerStyle(SegmentedPickerStyle())

【讨论】:

以上是关于SwiftUI Segmented Picker 元素为灰色且禁用的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:使用 Picker(分段)更改 ForEach 源或获取请求

SwiftUI Segmented Control 在视图刷新时选择段文本动画

SwiftUI 中的一排 Picker ***,为啥拖动滚动区域从屏幕上的 Picker 控件偏移?

SwiftUI 为啥 Picker 上的输入不起作用?

SwiftUI:以编程方式设置 Picker 的值

在 SwiftUI 的 Picker 中添加新元素