当我点击一个按钮(如短信警报振动)时,我搜索我的iphone振动两次
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
我只获得一次正常振动,但我想要两条短裤:/。
答案 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
希望有帮助。