之前的手机系统要用到的震动接口是AudioServicesPlaySystemSound
,但这个震动幅度比较大,如果做为游戏的一些震动反馈不太适合。iOS10后新加了UIImpactFeedbackGenerator
震动反馈接口。
调用方式
if(@available(iOS 10.0, *)){
UIImpactFeedbackGenerator *impactFeedBack = [[UIImpactFeedbackGenerator alloc] initWithStyle: UIImpactFeedbackStyleMedium];
[impactFeedBack prepare];
[impactFeedBack impactOccurred];
}
这个prepare
方法是可选的, 但是Apple强烈建议使用此方法. 调用此方法有助于确保您的反馈具有尽可能低的延迟.
UIImpactFeedbackStyleMedium
是震动反馈力度枚举
typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) {
UIImpactFeedbackStyleLight, // 轻
UIImpactFeedbackStyleMedium, // 中
UIImpactFeedbackStyleHeavy // 重
};
调用UIImpactFeedbackStyleMedium
震动反馈接口时会受设置 -> 声音与触感 -> 系统触感反馈
开关设置控制