点击按钮后如何让我的iphone振动两次?

时间:2015-04-24 05:00:41

标签: ios swift iphone-vibrate

当我点击一个按钮(如短信警报振动)时,我搜索我的iphone振动两次

AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate)) 我只获得一次正常振动,但我想要两条短裤:/。

3 个答案:

答案 0 :(得分:22)

iOS 10更新

使用iOS 10时,有一些新方法可以用最少的代码完成此操作。

方法1 - UIImpactFeedbackGenerator

git reset --hard 8315cd7962c902d39160fcf2fd018f249e7cf744

方法2 - UINotificationFeedbackGenerator

let feedbackGenerator = UIImpactFeedbackGenerator(style: .heavy)
feedbackGenerator.impactOccurred()

方法3 - UISelectionFeedbackGenerator

let feedbackGenerator = UINotificationFeedbackGenerator()
feedbackGenerator.notificationOccurred(.error)

答案 1 :(得分:6)

#import <AudioToolbox/AudioServices.h>


AudioServicesPlayAlertSound(UInt32(kSystemSoundID_Vibrate))

这是快速功能...有关详细说明,请参阅this文章。

答案 2 :(得分:0)

如果只想振动两次。您可以。

    func vibrate() {
        AudioServicesPlaySystemSoundWithCompletion(kSystemSoundID_Vibrate) {
            AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
        }
    }

使用递归和AudioServicesPlaySystemSoundWithCompletion可以多次振动。

您可以传递一个数字来振动vibrate(count: 10)之类的功能。然后它振动十次。

    func vibrate(count: Int) {
        if count == 0 {
            return
        }
        AudioServicesPlaySystemSoundWithCompletion(kSystemSoundID_Vibrate) { [weak self] in
            self?.vibrate(count: count - 1)
        }
    }


如果使用UIFeedbackGenerator,则有一个很棒的库Haptica


希望有帮助。