SwiftUI 选择器分隔符

xls*_*rlx 5 macos swift swiftui swiftui-picker

我正在尝试在 MacOS 中创建一个 SwiftUI 选择器,它看起来像 Xcode 或其他 Mac 应用程序中的选择器。更具体地说,我试图在选择器中的元素之间添加分隔线。

像这些:

例子1

例子2

我尝试了多种选项,但找不到添加这些分隔符的方法。

选择器示例代码:

    Picker("Pick an option", selection: $selection) {
        Text("Option 1").tag(0)
        Text("Option 2").tag(1)
        Text("Option 3").tag(2)
    }
Run Code Online (Sandbox Code Playgroud)

我非常感谢您对此的帮助。

Asp*_*eri 5

更新:Xcode 13.4 / macOS 12.4

Picker("Pick an option", selection: $selection) {
    Text("Option 1").tag(0)
    Divider()                // << here !!
    Text("Option 2").tag(1)
    Text("Option 3").tag(2)
}
Run Code Online (Sandbox Code Playgroud)

原来的:

这是可能的技巧(不能将其命名为解决方案,而是解决方法)

使用 Xcode 11.4 / macOS 10.15.5 进行测试

演示

Picker("Pick an option", selection: $selection) {
    Text("Option 1").tag(0)
    VStack {Divider().padding(.leading)}
    Text("Option 2").tag(1)
    Text("Option 3").tag(2)
}
Run Code Online (Sandbox Code Playgroud)

注意:VStack需要使Divider水平,否则由于某些Apple-ty原因是垂直的。