Haptico
Haptico 是一款易于使用的 iOS 触觉反馈生成器。除了默认的触觉反馈外,它还可以播放模式!查看示例项目。
目录
示例
要运行示例项目,请克隆仓库,然后从示例目录中首先运行 pod install
如何使用
首先,您需要将 Haptico 模块导入到您的类中
import Haptico
还需要注意的是,根据您所使用的设备 - 反馈可能会有所不同。从 iPhone 7 开始,所有 iPhone 均配备触觉引擎。在 iPhone 7 之前,Haptico 将使用标准振动。另外,在 iPhone 7 和 iOS 10 之前,对模式播放和冲击不支持
1. 生成预设默认反馈
使用Haptico,您可以生成三种默认类型的触觉通知
public enum HapticoNotification {
case success
case warning
case error
}
下面是一个小示例,展示如何生成成功、警告和错误反馈
@IBAction func generateSuccess(_ sender: Any) {
Haptico.shared().generate(.success)
}
@IBAction func generateWarning(_ sender: Any) {
Haptico.shared().generate(.warning)
}
@IBAction func generateError(_ sender: Any) {
Haptico.shared().generate(.error)
}
2. 生成冲击反馈
除了默认触觉通知之外,Haptico还可以生成冲击通知。库支持三种类型的冲击通知(在iOS10+和iPhone 7以上版本可用)
public enum HapticoImpact {
case light
case medium
case heavy
}
要使用它们,请调用
Haptico.shared().generate(.medium)
简单吧?
3. 模式播放
现在有点特别的是 - 模式播放。Haptico可以播放模式,这些模式被“编码”为字符串。让我们看看一个小示例
Haptico.shared().generateFeedbackFromPattern("..oO-Oo..", delay: 0.1)
这个字符串中的每个字符代表一些特定的触觉冲击
- "O"(大写“o”) - 重击
- "o" - 中击
- "." - 轻击
- "-" - 持续时间为0.1秒的延迟
4. UI扩展
Haptico附带一些UI扩展:HapticoButton(它是UIButton的子类)和带有触觉反馈的UIAlertController扩展。
要开始使用HapticoButton,只需在Storyboard中将类名设置为HapticoButton。然后,当使用UIControlEvents.touchDown事件时,您将获得重击反馈,当使用UIControlEvents.touchUpInside和UIControlEvents.touchUpOutside时,您将获得轻击反馈。
要使用Haptico与UIAlertController一起,请按照以下简单示例操作
func showSuccessAlert() {
let alert = UIAlertController(title: "Alert Title", message: "Alert Message", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Ok", style: .default, handler: nil))
present(alert, animated: true, hapticNotification: .success)
}
安装
Haptico 可通过 CocoaPods、Carthage 和 Swift Package Manager 获得。
CocoaPods
要使用 CocoaPods 安装,请简单地将以下行添加到您的 Podfile 中
pod 'Haptico'
Carthage
要使用 Carthage 安装,请将以下行添加到您的 Cartfile 中,并按照说明将框架添加到应用程序中
github "iSapozhnik/Haptico"
Swift Package Manager
要使用 Swift Package Manager 安装,直接使用 Xcode 11 将其添加到项目中,或将其指定为 Package.swift 文件中的依赖项
// ...
dependencies: [
.package(url: "https://github.com/iSapozhnik/Haptico.git", from: "1.1.0"),
],
//...
Mentions
作者
isapozhnik, [email protected]
捐赠
如果你喜欢这个项目,并且它帮到了你减少开发时间,你可以给我一杯
许可
Haptico 在 MIT 许可协议下可用。更多信息请查看 LICENSE 文件。