当前位置: 首页 > news >正文

iOS 按钮添加点击震动

1. 方法说明:

iOS10后系统提供了一套API来简单实现震动:
init时传入一个style定义好的枚举就可以实现不同的震动

typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) {UIImpactFeedbackStyleLight,UIImpactFeedbackStyleMedium,UIImpactFeedbackStyleHeavy,UIImpactFeedbackStyleSoft     API_AVAILABLE(ios(13.0)),UIImpactFeedbackStyleRigid    API_AVAILABLE(ios(13.0))
};// UIImpactFeedbackGenerator is used to give user feedback when an impact between UI elements occurs
UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(visionos) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
@interface UIImpactFeedbackGenerator : UIFeedbackGenerator- (instancetype)initWithStyle:(UIImpactFeedbackStyle)style;/// call when your UI element impacts something else
- (void)impactOccurred;/// call when your UI element impacts something else with a specific intensity [0.0, 1.0]
- (void)impactOccurredWithIntensity:(CGFloat)intensity API_AVAILABLE(ios(13.0));@end

2. 举例

UIImpactFeedbackGenerator *generator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
[generator impactOccurred];

3. 还有一套API

在AudioTool.framework里还有一套API可以实现震动,这个系统适配多些

#import <AudioToolbox/AudioToolbox.h>
// 类似于老系统来短信的震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
// 类似touch一次短震
AudioServicesPlaySystemSound(1519);
// 类似touch长按app图标时的震动
AudioServicesPlaySystemSound(1520);
// 类似关iPhone左侧物理静音键的震动
AudioServicesPlaySystemSound(1521);
http://www.lryc.cn/news/280217.html

相关文章:

  • 李沐-《动手学深度学习》--02-目标检测
  • 【EAI 006】ChatGPT for Robotics:将 ChatGPT 应用于机器人任务的提示词工程研究
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • Rustdesk本地配置文件存在什么地方?
  • 36-javascript输出方式,弹框:普通,confirm弹框,prompt弹框,控制台输出:普通,warm,error
  • 自动执行 Active Directory 清理
  • DICE模型的原理与推导、碳循环与气候变化、政策评估、不确定性分析与代码分析
  • 【机器学习前置知识】狄利克雷分布
  • Spring Retry(方法重试、方法重新调用)
  • JavaScript音视频,使用JavaScript如何在浏览器录制电脑摄像头画面为MP4视频文件并下载视频文件到本地
  • IaC基础设施即代码:使用Terraform 连接 alicloud阿里云
  • Vue3 如何使用移动端调试工具vConsole
  • 【物流管理系统-Python简易版】
  • Vue学习笔记六--Vue3学习
  • 21.在线与离线MC强化学习简介
  • 控制网页的灰度显示
  • 科研绘图(四)火山图
  • 超强站群系统v9.0:最新蜘蛛池优化技术,一键安装,内容无缓存刷新,高效安全
  • torch.fx的极简通用量化教程模板
  • rpc的正确打开方式|读懂Go原生net/rpc包
  • 【信号与系统】【北京航空航天大学】实验二、连续时间系统的时域分析【MATLAB】
  • 【Linux 内核源码分析笔记】系统调用
  • mysql清空并重置自动递增初始值
  • 计算机算法之二分算法
  • 获取当前设备的IP
  • koa2文件的上传下载功能
  • test-02-test case generate 测试用例生成 EvoSuite 介绍
  • 1.单表查询
  • FFmpeg 的使用与Docker安装流媒体服务器
  • Qt QListWidget列表框控件