Отключение всех вибраций приложения
Я пытаюсь создать кнопку в своем приложении, которая поворачивает вибрации, возникающие при нажатии некоторых кнопок в приложении.
Я использовал:
AudioServicesPlaySystemSound (SystemSoundID (kSystemSoundID_Vibrate))
код для включения вибрации при определенных нажатиях кнопок - но я хочу, чтобы пользователь мог отключить вибрацию, если он этого хотел.
Есть ли способ отключить все вибрации одним способом.disable или.invalidate (эти примеры - единственный код, отменяющий вещи, о которых я мог подумать)
2 ответа
Вы можете создать один bool и сохранить его состояние NSUserDefaults
затем добавить if
условие для вибрации вот так:
if allowVibration {
AudioServicesPlaySystemSound(SystemSoundID(kSystemSoundID_Vibrate))
}
И он не войдет в это, если условие, если 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
}
}