开/关触觉反馈开关(快速)

B2F*_*2Fq 3 xcode ios swift haptic-feedback

我有SettingsVC(“照片”有2个开关)和MainVC(“ Code”有一个用于添加触觉反馈按钮的功能)。

我如何才能做到这一点,以便当您关闭“设置”中的“开关”时,该功能将停止工作?

SettingsVC“照片”

@IBAction func Vib(_ sender: UIButton) {
    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.impactOccurred()
}
Run Code Online (Sandbox Code Playgroud)

Fra*_*iro 5

您可以存储开关状态UserDefaults,然后在功能中进行检查。

在您的切换操作中:

@IBAction func switchAction(sender: UISwitch) { 
    if sender.isOn {
        UserDefaults.standard.set(true, forKey: "SwitchState")
    } else {
        UserDefaults.standard.set(false, forKey: "SwitchState")
    }
}
Run Code Online (Sandbox Code Playgroud)

在您的MainVC函数中

@IBAction func Vib(_ sender: UIButton) {
    guard UserDefaults.standard.bool(forKey: “SwitchState”) else { return }

    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.impactOccurred()
}
Run Code Online (Sandbox Code Playgroud)