iOS学习—添加震动效果

一、系统提供的几种震动方法:

导入:#import <AudioToolbox/AudioToolbox.h>

在需要出发震动的地方写上代码:
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);//默认震动效果

如果想要其他震动效果,可参考:
// 普通短震,3D Touch 中 Pop 震动反馈
AudioServicesPlaySystemSound(1520);

// 普通短震,3D Touch 中 Peek 震动反馈
AudioServicesPlaySystemSound(1519);

// 连续三次短震
AudioServicesPlaySystemSound(1521);

二、iOS 10之后提供了一套Objective-C的接口

UIImpactFeedbackGenerator

这个枚举定义震动等级

typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) {
    UIImpactFeedbackStyleLight,
    UIImpactFeedbackStyleMedium,
    UIImpactFeedbackStyleHeavy,
    UIImpactFeedbackStyleSoft     API_AVAILABLE(ios(13.0)),
    UIImpactFeedbackStyleRigid    API_AVAILABLE(ios(13.0))
};
@interface UIImpactFeedbackGenerator : UIFeedbackGenerator

- (instancetype)initWithStyle:(UIImpactFeedbackStyle)style;

// 调用后立刻开始震动
- (void)impactOccurred;

// 调用后立刻开始震动,伴随着强度等级  0 到 1
- (void)impactOccurredWithIntensity:(CGFloat)intensity API_AVAILABLE(ios(13.0));

@end

具体使用:

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

猜你喜欢

转载自blog.csdn.net/qq_43441647/article/details/128395874