为什么苹果要这样设计:cancel 按钮会自动被系统加粗
在 SwiftUI 里,.cancel 按钮会自动被系统加粗,而且 无法直接通过 API 关闭这个样式。
在 SwiftUI 中,.cancel 按钮(即使用 .buttonStyle(.cancel) 或在 Alert/ActionSheet 中指定为取消按钮)会被系统自动加粗,且目前没有公开的 API 可以直接关闭这个加粗样式,这是苹果有意为之的设计选择。其背后的原因主要涉及 用户体验一致性、平台规范和人因工程。
为什么不能通过 API 关闭?
SwiftUI 的设计哲学之一是 “默认正确,限制危险自定义”。
苹果认为,取消按钮的视觉突出是“正确”的默认行为,不应轻易被开发者关闭。
提供关闭该样式的 API 可能导致滥用,破坏用户体验一致性。
苹果希望所有 iOS 应用在关键交互上保持一致。如果每个开发者都能随意修改取消按钮的样式(比如变细、变灰、隐藏),就会破坏用户对系统行为的预期。
多个role: .none,苹果只会显示一个。