Skip to content

Button 按钮组件

Button 是 SwiftUI 中最常用的交互组件之一,用户点击按钮后会触发指定的操作。它支持文本、图标、自定义样式等各种形式。


🔰 基本用法

swift
Button("点击我") {
    print("按钮被点击了!")
}

说明:

  • 第一个参数是按钮的标题文本
  • 闭包内是点击事件触发后的操作

🖼 使用图标按钮

swift
Button(action: {
    print("图标按钮点击")
}) {
    Image(systemName: "heart.fill")
        .foregroundColor(.red)
        .font(.title)
}

你可以使用 SF Symbols 中的系统图标,让按钮更具表现力。


🧱 自定义按钮样式

swift
Button(action: {}) {
    Text("自定义按钮")
        .padding()
        .background(Color.blue)
        .foregroundColor(.white)
        .cornerRadius(10)
}

你可以组合 Text 和修饰符来定义按钮的外观,包括颜色、圆角、边框等。


🎨 多状态按钮

swift
@State private var isLiked = false

Button(action: {
    isLiked.toggle()
}) {
    Label(isLiked ? "已点赞" : "点赞", systemImage: isLiked ? "heart.fill" : "heart")
}

使用 @State 结合 Label 实现状态变化按钮,提升用户体验。


🚀 使用 ButtonRole 设置按钮角色(iOS 15+)

swift
Button("删除", role: .destructive) {
    print("执行删除操作")
}
  • .destructive:高亮为红色,表示破坏性操作
  • .cancel:用于关闭弹窗等取消操作

📱 在 Alert 或 ActionSheet 中使用 Button

swift
.alert("提示", isPresented: $showAlert) {
    Button("确定", role: .none) { }
    Button("取消", role: .cancel) { }
}

SwiftUI 的 Button 可以无缝用于弹窗、菜单等多种交互场景。


✅ 小贴士

  • 可使用 Label 统一图文按钮格式
  • 使用 .buttonStyle() 应用全局样式
  • 使用 ButtonRole 明确操作意图

Button 是构建交互体验的基础组件,熟练掌握其样式和用法,将显著提升你的 SwiftUI 开发能力。