如何让设备振动呢
iPhone 6S 3D Touch,可以识别轻,中,重三种按压力度,配合恰到好处的振动有利于提升交互体验,但后面的新设备都不支持 3D Touch 了,改为了检测按压时间,按同一个图标,不同时间,交互,功能有所不同
Taptic Engine——聊聊iPhone的震动马达
Show Me The Code
// 这段代码发出的振动,很普通,像来电话时的振动,像几年前的安卓,或者 5S 及以前的设备import SwiftUI
import AudioToolboxstruct SwiftUIView1: View {var body: some View {Button("触发震动 1") {triggerVibration()}}func triggerVibration() {AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))}
}
// 这段代码发出的振动,就很 coooooooooooooool
// 可以试试初始化一个 Xcode Project 真机运行试一试
// 它就很适合 自定义键盘 这种场景,很小的振动感import SwiftUI
import AudioToolboxstruct SwiftUIView2: View {var body: some View {Button("触发震动 2") {// AudioServicesPlaySystemSound(1519) // Actuate "Peek" feedback (weak boom)AudioServicesPlaySystemSound(1520) // Actuate "Pop" feedback (strong boom)// AudioServicesPlaySystemSound(1521) // Actuate "Nope" feedback (series of three weak booms)}}
}
参考资料
-
https://stackoverflow.com/questions/26455880/how-to-make-iphone-vibrate-using-swift
-
https://www.hackingwithswift.com/example-code/system/how-to-make-the-device-vibrate