iOS震动反馈

之前的手机系统要用到的震动接口是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震动反馈接口时会受设置 -> 声音与触感 -> 系统触感反馈开关设置控制

0%