File tree 1 file changed +21
-0
lines changed
Sources/ArcGISToolkit/Components/FloatingPanel
1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,7 @@ struct FloatingPanel<Content>: View where Content: View {
71
71
. frame ( height: height)
72
72
. clipped ( )
73
73
. onPreferenceChange ( FloatingPanelDetent . Preference. self) { preference in
74
+ #if swift(<6.0.3) || swift(>=6.1) // Xcode 16.2 (Swift 6.0.3) needs special handling
74
75
if let preference {
75
76
// Only set the overridden detent if it's `nil`.
76
77
// This prevents a preference from being saved
@@ -85,6 +86,26 @@ struct FloatingPanel<Content>: View where Content: View {
85
86
activeDetent = overriddenDetent
86
87
self . overriddenDetent = nil
87
88
}
89
+ #else
90
+ Task { @MainActor in
91
+ if let preference {
92
+ // Only update the overridden detent if one
93
+ // wasn't already saved. This prevents a
94
+ // FloatingPanelDetentPreference from being
95
+ // saved as the overridden detent.
96
+ if overriddenDetent == nil {
97
+ overriddenDetent = activeDetent
98
+ }
99
+ activeDetent = preference
100
+ } else if let overriddenDetent {
101
+ // When the FloatingPanelDetentPreference is
102
+ // unset, restore the overridden detent as the
103
+ // active detent.
104
+ activeDetent = overriddenDetent
105
+ self . overriddenDetent = nil
106
+ }
107
+ }
108
+ #endif
88
109
}
89
110
if !isPortraitOrientation {
90
111
Divider ( )
You can’t perform that action at this time.
0 commit comments