我正在使用 SwiftUI 构建 MacOS 应用程序。我需要它允许用户使用复选框选择任意数量的选项。
选项分组在类别标题下。通常,当我看到 MacOS 应用程序执行此操作时(例如当安装询问要安装哪些文件时),每个类别都有一个三态复选框,反映是否选择了该类别的选项:
[✓]
全部选中[-]
部分已选[ ]
未选择单击类别旁边的框可选择 All 或 None,而当用户选择类别中的部分而非全部 individual 选项时,会出现 Some 状态。
我在 MacOS 应用程序中经常看到此功能,但我还没有在 SwiftUI 中看到该功能。有官方的方法可以做到这一点吗?或者我是否需要使用 SF 符号
checkmark.square
、minus.square
和 square
来实现自己的实现?
如果您正在针对 Mac 进行开发,请查看 allowsMixedState。然后您可以使用
setNextState()
将其设置为中间状态。
iOS 本身并不支持此功能 - 复选框不太适合触摸界面。也就是说,如果您确实想要复选框,请查看RVS_Checkbox。这是一个将添加此支持的库。