2017-11-04 9 views
2

私はSettingsVC(「写真」に2つのスイッチがあります)とMainVC(「コード」には触覚フィードバックボタンを追加する機能があります)があります。オン/オフ触覚フィードバックSwitch(Swift)

スイッチの設定をオフにすると、機能が停止するようにするにはどうすればよいですか?

SettingsVC "Photo"

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

答えて

3

あなたはUserDefaultsにスイッチ状態を保存して、あなたの関数でそれを確認することができます。お使いのスイッチ操作で

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

をごMainVC funcを

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

    let generator = UIImpactFeedbackGenerator(style: .light) 
    generator.impactOccurred() 
} 
+0

でtrueにブール値を比較する必要はありません。あなたはこの '== true'を取り除くことができます – EmilioPelaez

+0

ありがとう@EmilioPelaez;) –

+0

@FrancescoDeliroあなたのコードを使用しているときに私の機能は常にオフになっていて、常にスイッチ上にあります。 – B2Fq

関連する問題