【问题标题】:SwiftUI Picker SeparatorsSwiftUI 选择器分隔符
【发布时间】:2020-07-22 15:11:09
【问题描述】:

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

像这些:

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

选择器示例代码:

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

非常感谢您的帮助。

【问题讨论】:

    标签: swift macos swiftui swiftui-picker


    【解决方案1】:

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

    使用 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)
    }
    

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

    【讨论】:

    • 感谢您的回答!我试过了,但 Divider 视图也是选项列表的一部分,您可以选择它。 (我不想要那种行为)
    • 你标记了吗?当我测试它时它是不可选择的。
    • 不,我只标记了可选择的项目,但我对select 的意思是你悬停该项目将突出显示,如果你点击它,它将不会被选中,但弹出窗口会消失。在 Xcode 的控件中(如屏幕截图中),悬停和单击操作被忽略。
    • 只需使用Divider() 而不是VStack {Divider().padding(.leading)}。分隔线不再是垂直的,将无法选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多