带有第三个选项的复选框:“部分”,在框中显示为破折号

问题描述 投票:0回答:1

我正在使用 SwiftUI 构建 MacOS 应用程序。我需要它允许用户使用复选框选择任意数量的选项。

选项分组在类别标题下。通常,当我看到 MacOS 应用程序执行此操作时(例如当安装询问要安装哪些文件时),每个类别都有一个三态复选框,反映是否选择了该类别的选项:

  • [✓]
    全部选中
  • [-]
    部分已选
  • [ ]
    未选择

单击类别旁边的框可选择 AllNone,而当用户选择类别中的部分而非全部 individual 选项时,会出现 Some 状态。

我在 MacOS 应用程序中经常看到此功能,但我还没有在 SwiftUI 中看到该功能。有官方的方法可以做到这一点吗?或者我是否需要使用 SF 符号

checkmark.square
minus.square
square
来实现自己的实现?

macos swiftui checkbox
1个回答
0
投票

如果您正在针对 Mac 进行开发,请查看 allowsMixedState。然后您可以使用

setNextState()
将其设置为中间状态。

iOS 本身并不支持此功能 - 复选框不太适合触摸界面。也就是说,如果您确实想要复选框,请查看RVS_Checkbox。这是一个将添加此支持的库。

© www.soinside.com 2019 - 2024. All rights reserved.