【问题标题】:On/Off haptic feedback Switch (Swift)开/关触觉反馈开关 (Swift)
【发布时间】:2017-11-04 16:26:12
【问题描述】:

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

我怎样才能做到当你在设置中关闭开关时,该功能将停止工作?

SettingsVC "Photo"

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

【问题讨论】:

    标签: ios swift xcode haptic-feedback


    【解决方案1】:

    您可以将开关状态存储在UserDefaults 中,然后在您的函数中检查它。

    在您的切换操作中:

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

    在您的 MainVC 函数中

    @IBAction func Vib(_ sender: UIButton) {
        guard UserDefaults.standard.bool(forKey: “SwitchState”) else { return }
    
        let generator = UIImpactFeedbackGenerator(style: .light)
        generator.impactOccurred()
    }
    

    【讨论】:

    • 没有必要将布尔值与真值进行比较。你可以摆脱这个== true
    • @FrancescoDeliro 我的功能在使用您的代码时始终处于关闭状态,并且始终处于开关状态。
    • 你的开关默认状态是On?如果您将开关值更改为关闭,然后再更改为打开,请尝试打印 UserDefaults Bool 值。
    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多