SwiftUI-触感反馈

Haptics 拥有一系列超轻量级的修饰符和函数,可以为任何 SwiftUI View 添加触感反馈。例如,当特定属性更改或等于特定值时,将自动触发反馈。

import SwiftUI
import Haptics


YourView()
    .hapticFeedback(.selection, trigger: isSelected)

或以编程方式使用函数

HapticGenerator.performFeedback(.selection)

平台

触感反馈

基于值的触感反馈

当值更改时播放触感反馈。

YourView()
    .hapicFeedback(.selection, trigger: isSelected)

动态触感反馈

如果被监视的值发生更改,则返回要执行的 HapticFeedback

返回 nil 表示 不执行 任何触感反馈。

您可以根据您的触发值提供不同的触感反馈。

YourView()
    .hapicFeedback(trigger: workStatus) { _, newValue in
        return switch {
        case .success: .success
        case .failure: .error
        default: nil
        }
    }
    .hapicFeedback(.impact, trigger: cameraSession.capturedPhoto) { _, newValue in
        return newValue == true // Only plays feedback when photo has been taken
    }

看起来熟悉吗?

是的。

如果您想使用 .sensoryFeedback API 但需要支持较旧的平台,SwiftUI-Haptics 是一个更好的解决方案。

sensoryFeedback 替换为 hapticFeedback

一切都正常运行。

Swift Package Manager

在您的 Package.swift Swift Package Manager 清单文件中,将以下依赖项添加到您的 dependencies 参数中

.package(url: "https://github.com/LiYanan2004/SwiftUI-Haptics.git", .branch("main")),

将依赖项添加到您在清单文件中声明的任何目标中

.target(name: "MyTarget", dependencies: ["Haptics"]),