SwiftUI + Swift 设备振动

22 篇文章 0 订阅
21 篇文章 0 订阅

如何让设备振动呢

iPhone 6S 3D Touch,可以识别轻,中,重三种按压力度,配合恰到好处的振动有利于提升交互体验,但后面的新设备都不支持 3D Touch 了,改为了检测按压时间,按同一个图标,不同时间,交互,功能有所不同

Taptic Engine——聊聊iPhone的震动马达


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中可用。


参考资料


推荐一下刚上线的 App 熊猫小账本,里面有用到这篇博客讲的内容

熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。

  • 支持备注,自定义时间偶尔忘记记账也没关系。
  • 搜索历史记账,支持分类、金额、备注。
  • 启动时需要面容/指纹验证,保护个人隐私。
  • 支持自定义分类功能,自由添加修改分类。
  • 统计图表,支出收入一目了然。
  • 每天提醒记账,不会有其他推送。
  • 桌面锁屏小组件开发中。。。

喜欢或对你有帮助,请点个赞吧,自己先点个嘿嘿 。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com

END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值