我正試圖在應用程序中按下某些按鈕時在我的應用程序中創建一個按鈕,使其發生振動。使所有應用程序振動停止設置
我已經使用了:
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
代碼,以便在特定的按鈕按下的震動 - 但我希望用戶能夠如果關閉震動,他們所以想要。
有沒有辦法從單一.disable或.invalidate類型的方式禁用所有的振動(這些例子是取消的事情,我能想到的唯一的代碼)
我正試圖在應用程序中按下某些按鈕時在我的應用程序中創建一個按鈕,使其發生振動。使所有應用程序振動停止設置
我已經使用了:
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
代碼,以便在特定的按鈕按下的震動 - 但我希望用戶能夠如果關閉震動,他們所以想要。
有沒有辦法從單一.disable或.invalidate類型的方式禁用所有的振動(這些例子是取消的事情,我能想到的唯一的代碼)
您可以創建一個布爾值,並將其存儲的狀態到NSUserDefaults
然後添加一個if
條件振動是這樣的:
if allowVibration {
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
}
,它不會進入到這一點,如果if條件allowVibration
是false
。
使用NSUserDefaults
來存儲一個bool
,用於跟蹤是否播放振動。如果您不想在應用程序會話之間跟蹤此情況,請使用bool
。
// Get NSUserDefaults
let defaults = NSUserDefaults.standardUserDefaults()
// Some button that would turn off vibration
@IBAction func turnVibrateOff(sender: AnyObject) {
defaults.setBool(false, forKey: "vibrate")
NSUserDefaults.standardUserDefaults().synchronize()
}
// Some button that would turn on vibration
@IBAction func turnVibrateOn(sender: AnyObject) {
defaults.setBool(true, forKey: "vibrate")
NSUserDefaults.standardUserDefaults().synchronize()
}
// Then just check against the key we've created
func shouldWeVibrate() {
if defaults.boolForKey("vibrate") {
// Vibrate
}
}