# 响应用户交互

URL: https://caijiao.org/swift/13-swiftui-basics/05-interaction
Source: docs/swift/13-swiftui-basics/05-interaction.md
Description: 本章介绍 SwiftUI 中响应用户交互的方式，包括按钮点击、手势识别等，帮助开发者构建动态交互界面。

SwiftUI 提供多种方式处理用户交互，增强应用的动态性。

## 按钮事件

使用 `Button` 处理点击事件：

```swift
Button("点击我") {
    print("按钮被点击")
}
````

## 手势识别

添加手势响应，如点击、拖动、长按：

```swift
Text("点击这里")
    .onTapGesture {
        print("文本被点击")
    }
```

支持多种手势：

* `onTapGesture`
* `onLongPressGesture`
* `onDragGesture`
* `onSwipeGesture`（需自定义）

## 状态更新

结合 `@State` 属性包装器，实现交互驱动的界面变化：

```swift
@State private var isPressed = false

var body: some View {
    Button(action: {
        isPressed.toggle()
    }) {
        Text(isPressed ? "已按下" : "未按下")
    }
}
```

## 总结

响应用户交互是构建动态应用的关键，SwiftUI 通过简单的事件处理和手势支持，极大简化了交互开发。
