You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SwiftUI中实现macOS系统设置风格的小型切换开关?

在SwiftUI中实现macOS Ventura系统设置风格的小型切换开关

一、最新SwiftUI中的自动实现方法

在适配macOS Ventura及以上的SwiftUI版本中,无需复杂自定义,通过controlSize修饰符即可快速实现系统设置风格的小型开关:

Toggle("Small Switch", isOn: $isSmall)
    .toggleStyle(.switch)
    .controlSize(.small)

controlSize(.small)会自动匹配系统预设的小型控件规格,包括开关的尺寸、间距和视觉样式,直接对齐系统设置的UI风格。

二、Apple的实现方式

系统设置中的开关本质是AppKit原生NSSwitch的SwiftUI封装。Apple通过ControlSize枚举定义了不同尺寸层级的控件规范,SwiftUI的Toggle会根据指定的controlSize自动调用对应规格的原生控件样式,内部已经处理好圆角、颜色、交互反馈等细节,确保与系统UI统一。如果需要极致自定义,也可以通过自定义ToggleStyle直接包装NSSwitch,但常规场景下使用controlSize即可满足需求。

内容的提问来源于stack exchange,提问作者Tzar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:35:16