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的方式在列表中监听控件状态的变化,从而增加震动反馈。
实现监听方法
震动反馈