@@ -18,125 +18,119 @@ struct ContentView: View {
18
18
@State private var alignmentIndex : Int = 0
19
19
20
20
var body : some View {
21
-
22
- NavigationView {
23
- NavigationLink ( " Show " ) {
24
- VStack {
25
- ZStack {
26
- Text ( " AxisTooltip " )
27
- . bold ( )
28
- . padding ( )
29
- . background ( Color . pink)
30
- . cornerRadius ( 10 )
31
- . onTapGesture {
32
- isPresented. toggle ( )
33
- }
34
- . axisToolTip ( isPresented: $isPresented, alignment: alignments [ alignmentIndex] , constant: constant, foreground: {
35
- Label ( " Contrary to popular belief, Lorem Ipsum is not simply random text. " , systemImage: " heart " )
36
- . padding ( )
37
- . frame ( width: 200 )
38
- } )
21
+ VStack {
22
+ ZStack {
23
+ Text ( " AxisTooltip " )
24
+ . bold ( )
25
+ . padding ( )
26
+ . background ( Color . pink)
27
+ . cornerRadius ( 10 )
28
+ . onTapGesture {
29
+ isPresented. toggle ( )
39
30
}
40
- . background ( Color . blue. opacity ( 0.2 ) )
41
- Spacer ( )
42
- VStack {
43
- VStack ( alignment: . leading, spacing: 5 ) {
44
- Text ( " ● Border " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
45
- HStack {
46
- HStack {
47
- Text ( " color : " ) . opacity ( 0.5 )
48
- ColorPicker ( " " , selection: $constant. border. color) . labelsHidden ( )
49
- }
50
- Divider ( ) . frame ( maxHeight: 40 )
51
- HStack {
52
- Text ( " style : " ) . opacity ( 0.5 )
53
- Button {
54
- if constant. border. style == nil {
55
- constant. border. style = StrokeStyle ( lineWidth: 2 , dash: [ 5 ] )
56
- } else {
57
- constant. border. style = nil
58
- }
59
- } label: {
60
- Text ( constant. border. style == nil ? " Off " : " On " )
61
- . padding ( 7 )
62
- . background ( constant. border. style == nil ? Color . gray. opacity ( 0.2 ) : Color . accentColor)
63
- . cornerRadius ( 8 )
64
- }
65
- . buttonStyle ( ( PlainButtonStyle ( ) ) )
66
- }
67
- }
68
- HStack {
69
- Text ( " radius : " ) . opacity ( 0.5 )
70
- Slider ( value: $constant. border. radius, in: 0 ... 26 )
71
- Text ( " \( constant. border. radius, specifier: " %.2f " ) " )
72
- }
73
- HStack {
74
- Text ( " lineWidth : " ) . opacity ( 0.5 )
75
- Slider ( value: $constant. border. lineWidth, in: 0 ... 26 )
76
- Text ( " \( constant. border. lineWidth, specifier: " %.2f " ) " )
77
- }
78
- . disabled ( constant. border. style != nil )
79
- . opacity ( constant. border. style != nil ? 0.5 : 1 )
31
+ . axisToolTip ( isPresented: $isPresented, alignment: alignments [ alignmentIndex] , constant: constant, foreground: {
32
+ Label ( " Contrary to popular belief, Lorem Ipsum is not simply random text. " , systemImage: " heart " )
33
+ . padding ( )
34
+ . frame ( width: 200 )
35
+ } )
36
+ }
37
+ . background ( Color . blue. opacity ( 0.2 ) )
38
+ Spacer ( )
39
+ VStack {
40
+ VStack ( alignment: . leading, spacing: 5 ) {
41
+ Text ( " ● Border " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
42
+ HStack {
43
+ HStack {
44
+ Text ( " color : " ) . opacity ( 0.5 )
45
+ ColorPicker ( " " , selection: $constant. border. color) . labelsHidden ( )
80
46
}
81
-
82
- VStack ( alignment: . leading, spacing: 5 ) {
83
- Text ( " ● Arrow " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
84
- HStack {
85
- VStack {
86
- HStack {
87
- Text ( " width : " ) . opacity ( 0.5 )
88
- Spacer ( )
89
- Text ( " \( constant. arrow. width, specifier: " %.2f " ) " )
90
- }
91
- Slider ( value: $constant. arrow. width, in: 0 ... 26 )
92
- }
93
- Divider ( ) . frame ( maxHeight: 40 )
94
- VStack {
95
- HStack {
96
- Text ( " height : " ) . opacity ( 0.5 )
97
- Spacer ( )
98
- Text ( " \( constant. arrow. height, specifier: " %.2f " ) " )
99
- }
100
- Slider ( value: $constant. arrow. height, in: 0 ... 26 )
47
+ Divider ( ) . frame ( maxHeight: 40 )
48
+ HStack {
49
+ Text ( " style : " ) . opacity ( 0.5 )
50
+ Button {
51
+ if constant. border. style == nil {
52
+ constant. border. style = StrokeStyle ( lineWidth: 2 , dash: [ 5 ] )
53
+ } else {
54
+ constant. border. style = nil
101
55
}
56
+ } label: {
57
+ Text ( constant. border. style == nil ? " Off " : " On " )
58
+ . padding ( 7 )
59
+ . background ( constant. border. style == nil ? Color . gray. opacity ( 0.2 ) : Color . accentColor)
60
+ . cornerRadius ( 8 )
102
61
}
62
+ . buttonStyle ( ( PlainButtonStyle ( ) ) )
103
63
}
104
- VStack ( alignment: . leading, spacing: 5 ) {
105
- Text ( " ● distance " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
64
+ }
65
+ HStack {
66
+ Text ( " radius : " ) . opacity ( 0.5 )
67
+ Slider ( value: $constant. border. radius, in: 0 ... 26 )
68
+ Text ( " \( constant. border. radius, specifier: " %.2f " ) " )
69
+ }
70
+ HStack {
71
+ Text ( " lineWidth : " ) . opacity ( 0.5 )
72
+ Slider ( value: $constant. border. lineWidth, in: 0 ... 26 )
73
+ Text ( " \( constant. border. lineWidth, specifier: " %.2f " ) " )
74
+ }
75
+ . disabled ( constant. border. style != nil )
76
+ . opacity ( constant. border. style != nil ? 0.5 : 1 )
77
+ }
78
+
79
+ VStack ( alignment: . leading, spacing: 5 ) {
80
+ Text ( " ● Arrow " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
81
+ HStack {
82
+ VStack {
106
83
HStack {
107
- Slider ( value: $constant. distance, in: 0 ... 26 )
108
- Text ( " \( constant. distance, specifier: " %.2f " ) " )
84
+ Text ( " width : " ) . opacity ( 0.5 )
85
+ Spacer ( )
86
+ Text ( " \( constant. arrow. width, specifier: " %.2f " ) " )
109
87
}
88
+ Slider ( value: $constant. arrow. width, in: 0 ... 26 )
110
89
}
111
- VStack ( alignment : . leading , spacing : 5 ) {
112
- Text ( " ● AxisMode " ) . foregroundColor ( Color . accentColor ) . opacity ( 0.5 )
90
+ Divider ( ) . frame ( maxHeight : 40 )
91
+ VStack {
113
92
HStack {
114
- Picker ( " " , selection: $constant. axisMode) {
115
- Text ( " Top " ) . tag ( ATAxisMode . top)
116
- Text ( " Bottom " ) . tag ( ATAxisMode . bottom)
117
- Text ( " Leading " ) . tag ( ATAxisMode . leading)
118
- Text ( " Trailing " ) . tag ( ATAxisMode . trailing)
119
- }
120
- . pickerStyle ( SegmentedPickerStyle ( ) )
121
- Toggle ( " " , isOn: $isPresented) . labelsHidden ( )
93
+ Text ( " height : " ) . opacity ( 0.5 )
94
+ Spacer ( )
95
+ Text ( " \( constant. arrow. height, specifier: " %.2f " ) " )
122
96
}
97
+ Slider ( value: $constant. arrow. height, in: 0 ... 26 )
123
98
}
124
- Picker ( " " , selection: $alignmentIndex) {
125
- ForEach ( Array ( alignments. enumerated ( ) ) , id: \. offset) { index, align in
126
- Image ( systemName: getAlignmentIcon ( alignments [ index] ) ) . tag ( index)
127
- }
99
+ }
100
+ }
101
+ VStack ( alignment: . leading, spacing: 5 ) {
102
+ Text ( " ● distance " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
103
+ HStack {
104
+ Slider ( value: $constant. distance, in: 0 ... 26 )
105
+ Text ( " \( constant. distance, specifier: " %.2f " ) " )
106
+ }
107
+ }
108
+ VStack ( alignment: . leading, spacing: 5 ) {
109
+ Text ( " ● AxisMode " ) . foregroundColor ( Color . accentColor) . opacity ( 0.5 )
110
+ HStack {
111
+ Picker ( " " , selection: $constant. axisMode) {
112
+ Text ( " Top " ) . tag ( ATAxisMode . top)
113
+ Text ( " Bottom " ) . tag ( ATAxisMode . bottom)
114
+ Text ( " Leading " ) . tag ( ATAxisMode . leading)
115
+ Text ( " Trailing " ) . tag ( ATAxisMode . trailing)
128
116
}
129
117
. pickerStyle ( SegmentedPickerStyle ( ) )
118
+ Toggle ( " " , isOn: $isPresented) . labelsHidden ( )
119
+ }
120
+ }
121
+ Picker ( " " , selection: $alignmentIndex) {
122
+ ForEach ( Array ( alignments. enumerated ( ) ) , id: \. offset) { index, align in
123
+ Image ( systemName: getAlignmentIcon ( alignments [ index] ) ) . tag ( index)
130
124
}
131
- . zIndex ( - 1 )
132
125
}
133
- . font ( . callout)
134
- . animation ( . easeInOut, value: constant)
135
- . animation ( . easeInOut, value: alignmentIndex)
136
- . padding ( )
137
- . navigationBarTitleDisplayMode ( . inline)
126
+ . pickerStyle ( SegmentedPickerStyle ( ) )
138
127
}
128
+ . zIndex ( - 1 )
139
129
}
130
+ . font ( . callout)
131
+ . animation ( . easeInOut, value: constant)
132
+ . animation ( . easeInOut, value: alignmentIndex)
133
+ . padding ( )
140
134
}
141
135
142
136
private func getAlignmentIcon( _ alignment: Alignment ) -> String {
0 commit comments