SwiftUI + Swift 设备振动

如何让设备振动呢

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


喜欢或对你有帮助,请点个赞吧,自己先点个嘿嘿 。

有错误或者疑问还请评论指出。

我的个人网站 点击访问 hongweizhu.com 。


END


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19538.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚医通04:Axios Node Npm bable webpack+前端工程改造

目录 本日学习 内容介绍 Axios Node NPM包管理器 本日学习 1. 了解Axios :他是异步请求用的,前后端。 用于在浏览器和 Node.js 中发送 HTTP 请求。它支持从服务器获取数据、上传数据以及执行其他与 HTTP 相关的操作。 2.Node:它允许你在服务器端运行 JavaScrip…

python PYQT5 键盘,鼠标,绘制,焦点,改变,输入法,事件的方法和使用例子

https://img-blog.csdnimg.cn/7630017d3ee444eab9bdedf8d48d575f.png from PyQt5.Qt import * import sys class MyQwidget(QWidget):def __init__(self):super().__init__()def showEvent(self, a0) -> None:print("窗口被展示出来",a0)def closeEvent(self,a0) …

linux开发工具:repo

1:repo简单介绍 repo是Google开发的用于管理Android版本库的一个工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。repo不是用于取代git,而是简化了对多个Git版本库的管理。 repo…

Java中可以使用哪些系统架构?怎样选择?

架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。 Java企业级的应用根据业务的复杂程度,通常使用的系统架构有应用架构、垂直应用架构、面向服务的架构(Service-Oriented Architectu…

IDEA 导入多模块项目并设置运行

1、导入多模块项目 导入的步骤点击左上角File->New->Module from Existing Sources,最后点击选择项目的pom文件即可 2、设置模块 如果pom.xml文件是灰色并且有横杠,则需要这样设置: 把√去掉。 项目结构如图所示: 本项…

816. 数组翻转

链接: 链接 题目: 给定一个长度为 nn 的数组 aa 和一个整数 sizesize,请你编写一个函数,void reverse(int a[], int size),实现将数组 aa 中的前 sizesize 个数翻转。 输出翻转后的数组 aa。 输入格式 第一行包含两个整…

【Docker】简单的Linux安装Redis

目录 Docker 安装 Redis拉取镜像安装容器修改配置文件容器随docker启动自动运行redis客户端 史上最详细Docker安装Redis (含每一步的图解)实战 Docker 安装 Redis 拉取镜像 docker pull redis安装容器 创建redis配置文件目录:如果内部没有相…

webRTC实现P2P音视频通话(无服务端)

文章目录 先看效果视频对话源码音频对话源码遇到问题解决方案 先看效果 视频对话源码 虽然是vue项目&#xff0c;但是我卸载了主页的index页面&#xff0c;仅仅为了测试&#xff0c; <!DOCTYPE html> <html lang"en"> <head><meta charset"…

IDEA debug 断点调试技巧

1、首先看下IDEA中Debug模式下的界面&#xff1a; ① 以Debug模式启动服务&#xff0c;左边的一个按钮则是以Run模式启动。在开发中&#xff0c;我一般会直接启动Debug模式&#xff0c;方便随时调试代码。 ② 断点&#xff1a;在左边行号栏单击左键&#xff0c;或者快捷键Ctrl…

ceph用户认证

Cephx认证机制 ceph使用cephx协议对客户端进行身份认证 cephx用于对ceph保存的数据进行认证访问和授权&#xff0c;用于对访问ceph的请求进行认证和授权检测&#xff0c;于mon通信的请求都要经过ceph认证通过&#xff0c;但是也可以在mon节点关闭cephx认证&#xff0c;但是关…

Android AccessibilityService 实现《李跳跳》功能

AccessibilityService&#xff08;无障碍服务&#xff09;是 Android 操作系统中的一个功能&#xff0c;旨在帮助用户具有视觉、听觉或运动上的障碍更轻松地使用设备。它是 Android 提供的一种特殊服务&#xff0c;可以接收设备上发生的各种事件&#xff0c;并提供自定义的反馈…

【Java】链表LinkedList

文章目录 一、链表1.1 链表的概念1.2 链表的结构 二、LinkedList的简介三、LinkedList的使用3.1 构造方法3.2 常见操作3.3 遍历方法 四、LinkedList的模拟实现五、LinkedList 和 ArrayList 的区别 一、链表 1.1 链表的概念 链表&#xff08;Linked List&#xff09;是一种常见…