HapticGenerator 4.1.0

HapticGenerator 4.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2019年2月
SPM支持 SPM

Kane Cheshire 维护。



HapticGenerator

iOS 中轻松的触觉效果生成。

CI Status Version License Platform

安装

在 podfile 中添加以下内容:

pod 'HapticGenerator'

然后,在终端中运行 pod update

或者,您可以直接将 HapticGenerator.swift 手动添加到您的项目中。

从 HapticGenerator 2 迁移到 HapticGenerator 3

HapticGenerator 3.0.0 显著简化了命名,但将是一个重大更改,您需要更新您的应用程序。

HapticGenerator 3 中,生成触觉的代码行已经简化

Haptic.selection.generate()
Haptic.selection.generate(prepareForReuse: true)

HapticGenerator 2 相比,后者在没有任何真正原因的情况下过于冗长

HapticGenerator.selection.generateHaptic()
HapticGenerator.selection.generateHaptic(prepareForReuse: true)

用法

HapticGenerator 现在自带方便的常量,生成触觉效果变得更加简单

Haptic.selection.generate()

或者,如果您想要自己创建生成器,可以创建一个新的生成器,如下所示:

let selection = Haptic(.selection)
let lightImpact = Haptic(.impact(.light))
let warning = Haptic(.notification(.warning))

然后按照这种方式生成触觉效果

selection.generate()

可选地,您可以指示系统为(重新)使用准备引擎。 HapticGenerator 有两种方式来做这件事:一种是在您通过设置 prepareForReusetrue 生成触觉效果后

Haptic.selection.generate(prepareForReuse: true)

如果您提前知道在生成触觉效果之前您将很快使用它(例如在屏幕出现后),则可以手动进行 prepareForUse

Haptic.selection.prepareForUse()

注意:触觉效果应在主线程上生成和准备用于重用。

为什么使用这个?

Apple的UIFeedbackGenerator子类不难用,但它们相当混乱。

HapticGenerator将它们整理起来,使得在iOS上创建不同类型的触觉效果变得简单且连贯。

看看苹果方式和HapticGenerator方式创建和使用的区别:

// Apple's way of using a selection feedback generator:
let selection = UISelectionFeedbackGenerator()
// Generate the haptic:
selection.selectionChanged()

// Apple's way of using an impact feedback generator:
let lightImpact = UIImpactFeedbackGenerator(style: .light)
lightImpact.impactOccurred()

// Apple's way of using a notification feedback generator:
let success = UINotificationFeedbackGenerator()
success.notificationOccurred(.success)

HapticGenerator方式相比

Haptic.selection.generate()

Haptic.lightImpact.generate()

Haptic.success.generate()

HapticGenerator的代码量显著更少且更易读。

此外,如果您支持iOS 10之前的任何iOS版本,您就不需要在代码中有一长串难看的可用性检查,因为它都包含在 HapticGenerator 中。