问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iOS中的震动反馈

发布网友 发布时间:2023-03-27 23:59

我来回答

1个回答

热心网友 时间:2023-10-25 01:29

一、震动反馈的来源
为了增强交互性,我们经常会在用户触发某个动作时候,给用户一定的硬件反馈。比如切换tabbar,下拉刷新列表,点击某个btn。

二、<1>实现原理
较早的系统版本,我们会使用AudioTool.framework。
主要在这个AudioTool.framework里

一般震动

普通短震(类似3D Touch的 Peek 反馈 )

普通短震 (类似3D Touch Pop 反馈)

连续三次短震

<2>iOS 10之后提供了一套Objective-C的接口 UIImpactFeedbackGenerator
这个枚举定义震动等级

@interface UIImpactFeedbackGenerator : UIFeedbackGenerator

// 调用后立刻开始震动

// 调用后立刻开始震动,伴随着强度等级 0 到 1

三、<实战操作>

发现有的app在下拉刷新的时候有一下震动反馈,感觉用户体验很棒,所以想在现有的项目中也增加一个这样的效果。但是项目中使用的MJRefresh 并没有提供这样的接口,自己重新实现下拉刷新也不现实。

既然如此就需要手动去监听下拉的状态改变。
MJRefresh中刷新控件的基类MJRefreshComponent有一个state属性,是一个枚举:

这个就属性就是刷新控件的状态值,可以使用KVO的方式在列表中监听控件状态的变化,从而增加震动反馈。

实现监听方法

震动反馈
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 微信怎么隐藏 微信怎么把隐藏 如何才能隐藏,让好友看不到? cad整体线段快捷键命令是什么? vivotws2e进水,放米缸里有用吗? 梦见吵过架的人与我和好了的预兆 梦见和以前的同事打嘴架的预兆 梦见和吵过架的人和好了的预兆 你知道都是什么样子的拥吻会让十二星座很喜欢呢? 什么样的拥吻最令十二星座销魂? 梦见在爬树时遇到一只猴子咬我的预兆 13岁大宝不接受二胎怎么办,生二胎大宝的叛逆怎么引导 蒲城的主要地形是什么 三星手机用黑暗模式的多吗 海尔滚筒洗衣机怎么调节提示音 二月份采的石榴接穗在冰箱能存多长时间 李玟CoCo同名粤语专辑的歌词列表 梦见头发由短变长的预兆 梦见头发剪很短又长长了的预兆 梦见头发没修短还是长直发的预兆 怎么设置全屏显示? 怎么设置全屏幕? &#39;大师们帮忙看看,这种翡翠值多少钱 梦见楼梯很滑上不去的预兆 梦见楼梯打滑 梦见楼梯很滑的预兆 梦见楼梯滑下的预兆 win2008网络操作系统项目教程试题答案 布局的基础知识 求一快乐大熊猫的名字,急!各位帮帮忙咯? 小米双开锁屏密码不一致 请问,触屏手机进水了之后,要换屏吗? 过年关是什么意思? 年字开头的词语有哪些 扎啤酒和普通的啤酒有什么区别吗? 二甲双胍能延长寿命吗?健康人可以吃吗? 2020年注册二级结构工程师多少钱?什么单位会需要? 目前注册二级结构工程师的价格是多少? 二级结构一年的价格行情多少? 注册二级结构工程师现在是什么行情?