Мне нужна помощь в связывании кнопки переключения, которую я создал, чтобы включить или выключить весь звук в моем приложении. Ниже представлен созданный мной вид настроек. В нем также есть пример звуковых файлов, которые я использую.
struct SettingsView: View {
@State private var seOn: Bool = true
@ObservedObject var soundEffectsM = soundEffectsModel()
@State private var feedBack = UINotificationFeedbackGenerator()
var body: some View {
ZStack {
Image("Background")
.resizable()
.edgesIgnoringSafeArea(.all)
.onAppear(perform: {playSound(sound: "GunCock", type: "wav")})
VStack {
Spacer()
Text("Game Logo")
.foregroundColor(.white)
.font(.system(size: 30))
Spacer()
Toggle(isOn: self.$soundEffectsM.seOn) {
ZStack {
Image("Button")
.renderingMode(.original)
.resizable()
.aspectRatio(contentMode: .fit)
.padding([.leading, .trailing], 40);
Text("Sound Effects")
.padding(.all, 20)
.padding([.leading, .trailing], 40)
.font(.system(size: 30))
.foregroundColor(.black)
}
Spacer()
}.onTapGesture(perform: {playSound(sound: "GunCock", type: "wav")})
}
}
}
}
class soundEffectsModel: ObservableObject {
@Published var seOn: Bool = UserDefaults.standard.bool(forKey: "seOn") {
didSet {
UserDefaults.standard.set(self.seOn, forKey: "seOn")
}
}
}
Мы будем очень признательны за совет или ссылку, где я могу найти ответ.