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 在视图刷新时选择段文本动画