CustomSwitchButton is now using system image name

dev_views_Settings
Rémi REGNAULT 11 months ago
parent 039fa0550a
commit 63eeb921e3

@ -13,30 +13,38 @@ struct CustomSwitchButton: View {
@Binding var IsOn: Bool @Binding var IsOn: Bool
// Image when Off // Image when Off
var imgNameIsOff: String var imgSystemNameIsOff: String
var imgIsOffWidth: CGFloat = 50 var imgIsOffWidth: CGFloat = 25
var imgIsOffHeight: CGFloat = 50 var imgIsOffHeight: CGFloat = 25
// Image when Off // Image when Off
var imgNameIsOn: String var imgSystemNameIsOn: String
var imgIsOnWidth: CGFloat = 50 var imgIsOnWidth: CGFloat = 25
var imgIsOnHeight: CGFloat = 50 var imgIsOnHeight: CGFloat = 25
var body: some View { var body: some View {
HStack { HStack {
Image(imgNameIsOff) VStack {
if (!IsOn) {
Image(systemName: imgSystemNameIsOff)
.resizable() .resizable()
.aspectRatio(contentMode: .fit) .aspectRatio(contentMode: .fit)
.frame(width: imgIsOffWidth, height: imgIsOffHeight) .frame(width: imgIsOffWidth, height: imgIsOffHeight)
}
}.frame(width: imgIsOffWidth, height: imgIsOffHeight)
Toggle("isOn", isOn: $IsOn) Toggle("isOn", isOn: $IsOn)
.labelsHidden() .labelsHidden()
Image(imgNameIsOn) VStack {
if (IsOn) {
Image(systemName: imgSystemNameIsOn)
.resizable() .resizable()
.aspectRatio(contentMode: .fit) .aspectRatio(contentMode: .fit)
.frame(width: imgIsOnWidth, height: imgIsOnHeight) .frame(width: imgIsOnWidth, height: imgIsOnHeight)
} }
}.frame(width: imgIsOffWidth, height: imgIsOffHeight)
}
} }
} }

@ -15,7 +15,7 @@ struct SettingsView: View {
@State private var theme = false @State private var theme = false
@State private var choice = "English" @State private var choice = "English"
@State private var sound = false @State private var sound = true
var body: some View { var body: some View {
VStack { VStack {
@ -30,7 +30,7 @@ struct SettingsView: View {
Spacer() Spacer()
CustomSwitchButton(IsOn: $theme, imgNameIsOff: AppImages.TitleImage, imgNameIsOn: AppImages.TitleImage) CustomSwitchButton(IsOn: $theme, imgSystemNameIsOff: "sun.max", imgSystemNameIsOn: "moon")
} }
Divider() Divider()
@ -51,10 +51,13 @@ struct SettingsView: View {
Divider() Divider()
VStack(alignment: .leading) { HStack {
Toggle("Sound", isOn: $sound) Text("Theme")
.toggleStyle(.switch)
.font(.headline) .font(.headline)
Spacer()
CustomSwitchButton(IsOn: $sound, imgSystemNameIsOff: "speaker.slash", imgSystemNameIsOn: "speaker.2")
} }
Divider() Divider()

Loading…
Cancel
Save