如何让设备振动呢
iPhone 6S 3D Touch,可以识别轻,中,重三种按压力度,配合恰到好处的振动有利于提升交互体验,但后面的新设备都不支持 3D Touch 了,改为了检测按压时间,按同一个图标,不同时间,交互,功能有所不同
Show Me The Code
// 这段代码发出的振动,很普通,像来电话时的振动,像几年前的安卓,或者 5S 及以前的设备
import SwiftUI
import AudioToolbox
struct SwiftUIView1: View {
var body: some View {
Button("触发震动 1") {
triggerVibration()
}
}
func triggerVibration() {
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
}
}
// 这段代码发出的振动,就很 coooooooooooooool
// 可以试试初始化一个 Xcode Project 真机运行试一试
// 它就很适合 自定义键盘 这种场景,很小的振动感
import SwiftUI
import AudioToolbox
struct 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)
}
}
}
Taptic Engine (iPhone 6S, 6S Plus, and above)
随着iPhone 6S和6S Plus的发布,苹果推出了3D Touch,为了补充iOS界面中添加的新“深度”,苹果用Taptic Engine取代了标准振动器,该引擎以振动的形式提供触觉(称为触觉信号)。
Haptic Feedback (iPhone 7, 7 Plus, and above)
当苹果移除iPhone 7和7 Plus的Home键时,他们开始更加认真地对待设备振动。在这个新的无按钮设备中,所有动作都需要各种触觉信号,这需要Apple构建第二代Taptic Engine。苹果还在一个名为Haptic Feedback的捆绑包中创建了几个框架,以便轻松使用这项新技术。这些框架仅在iOS 10中可用。
参考资料
-
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
喜欢或对你有帮助,请点个赞吧,自己先点个嘿嘿 。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com 。
END
原文地址:https://blog.csdn.net/u013633921/article/details/131594760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_19463.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!