@@ -20,66 +20,80 @@ extension Text {
20
20
struct SoftSwitchToggleDemoView : View {
21
21
@State var toggleIsOn : Bool = false
22
22
23
- var body : some View {
24
- return ZStack {
25
- Color . Neumorphic. main. edgesIgnoringSafeArea ( . all)
26
- VStack ( spacing: 8 ) {
27
- Text ( " Toggle " )
28
- . font ( . title)
29
- . fontWeight ( . bold)
30
-
31
- Text ( " System Default Toggle Button " )
23
+ @ViewBuilder
24
+ fileprivate func demoView( ) -> some View {
25
+ VStack {
26
+ HStack {
27
+ Text ( " System Default Toggle " )
32
28
. demoViewSectionTitle ( )
33
-
34
- //System Toggle Button
35
- HStack ( spacing: 15 ) {
36
- Spacer ( )
29
+ }
30
+ //System Toggle Button
31
+ HStack {
32
+ Spacer ( )
33
+ VStack {
37
34
Toggle ( " Toggle " , isOn: $toggleIsOn)
38
- . toggleStyle ( SwitchToggleStyle ( tint: . red) )
39
- . labelsHidden ( )
40
- Spacer ( )
35
+ . toggleStyle ( SwitchToggleStyle ( tint: . red) )
36
+ . labelsHidden ( )
37
+ Text ( " Enabled " )
41
38
}
42
- . padding ( )
43
-
44
- //softSwitchToggleStyle
39
+ Spacer ( )
40
+ VStack {
41
+ Toggle ( " Toggle " , isOn: $toggleIsOn)
42
+ . toggleStyle ( SwitchToggleStyle ( tint: . red) )
43
+ . labelsHidden ( )
44
+ . disabled ( true )
45
+ Text ( " Disabled " )
46
+ }
47
+ Spacer ( )
48
+ }
49
+ . padding ( )
50
+
51
+ //softSwitchToggleStyle
52
+ VStack {
45
53
Text ( " Neumorphic " )
46
54
. demoViewSectionTitle ( )
47
55
Text ( " Soft Switch Toggle Style " )
48
56
. demoViewSectionTitle ( )
49
-
50
- HStack ( spacing: 15 ) {
51
- Spacer ( )
52
- Toggle ( " Toggle " , isOn: . constant( false ) )
53
- . softSwitchToggleStyle ( tint: . green, labelsHidden: true )
54
- Spacer ( )
55
- }
56
- . padding ( )
57
-
58
- HStack ( spacing: 15 ) {
59
- Spacer ( )
60
- Toggle ( " Toggle " , isOn: $toggleIsOn)
61
- . softSwitchToggleStyle ( tint: . green, labelsHidden: true )
62
- Spacer ( )
63
- }
64
- . padding ( )
65
- HStack ( spacing: 15 ) {
66
- Spacer ( )
67
- Toggle ( " Toggle " , isOn: $toggleIsOn)
68
- . softSwitchToggleStyle ( tint: . blue, labelsHidden: true )
69
- Spacer ( )
70
- }
71
- . padding ( )
72
- HStack ( spacing: 15 ) {
73
- Spacer ( )
74
- Toggle ( " Toggle " , isOn: $toggleIsOn)
75
- . softSwitchToggleStyle ( tint: . red, labelsHidden: true )
76
- Spacer ( )
57
+ softTogglePairView ( tint: . gray)
58
+ softTogglePairView ( tint: . green)
59
+ softTogglePairView ( tint: . blue)
60
+ softTogglePairView ( tint: . red)
61
+ }
62
+ . padding ( )
63
+ }
64
+ . padding ( )
65
+ }
66
+
67
+ @ViewBuilder
68
+ fileprivate func softTogglePairView( tint: Color = . green) -> some View {
69
+ HStack ( spacing: 15 ) {
70
+ Spacer ( )
71
+ VStack {
72
+ Toggle ( " Toggle " , isOn: $toggleIsOn)
73
+ . softSwitchToggleStyle ( tint: tint, labelsHidden: true )
74
+ Text ( " Enabled " )
75
+ }
76
+ Spacer ( )
77
+ VStack {
78
+ Toggle ( " Toggle " , isOn: $toggleIsOn)
79
+ . softSwitchToggleStyle ( tint: tint, labelsHidden: true )
80
+ . disabled ( true )
81
+ Text ( " Disabled " )
82
+ }
83
+ Spacer ( )
84
+ }
85
+ }
86
+
87
+ var body : some View {
88
+ ZStack {
89
+ Color . Neumorphic. main. edgesIgnoringSafeArea ( . all)
90
+ NavigationView {
91
+ ScrollView {
92
+ demoView ( )
77
93
}
94
+ . navigationTitle ( " SoftSwitchToggle " )
78
95
. padding ( )
79
-
80
-
81
96
}
82
- . padding ( )
83
97
}
84
98
}
85
99
0 commit comments