Skip to content

Commit 4347ede

Browse files
committed
Replace menu with popover.
1 parent 932e928 commit 4347ede

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

Shared/Samples/Show service area/ShowServiceAreaView.swift

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ struct ShowServiceAreaView: View {
2828
@State private var firstTimeBreak: Int = 3
2929
/// Second time break property set in second stepper.
3030
@State private var secondTimeBreak: Int = 8
31+
/// A Boolean value indicating whether the time breaks settings are presented.
32+
@State private var settingsArePresented = false
3133

3234
/// The data model for the sample.
3335
@StateObject private var model = Model()
@@ -51,11 +53,25 @@ struct ShowServiceAreaView: View {
5153
}
5254
.pickerStyle(.segmented)
5355
Spacer()
54-
Menu {
55-
Stepper("Second: \(secondTimeBreak)", value: $secondTimeBreak, in: 1...15)
56-
Stepper("First: \(firstTimeBreak)", value: $firstTimeBreak, in: 1...15)
57-
} label: {
58-
Label("Time Breaks", systemImage: "gear")
56+
Button("Time Breaks", systemImage: "gear") {
57+
settingsArePresented = true
58+
}
59+
.popover(isPresented: $settingsArePresented) {
60+
NavigationStack {
61+
Form {
62+
Stepper("First: \(firstTimeBreak)", value: $firstTimeBreak, in: 1...15)
63+
Stepper("Second: \(secondTimeBreak)", value: $secondTimeBreak, in: 1...15)
64+
}
65+
.navigationTitle("Time Breaks")
66+
.navigationBarTitleDisplayMode(.inline)
67+
.toolbar {
68+
ToolbarItem(placement: .confirmationAction) {
69+
Button("Done") { settingsArePresented = false }
70+
}
71+
}
72+
}
73+
.presentationDetents([.fraction(0.25)])
74+
.frame(idealWidth: 320, idealHeight: 160)
5975
}
6076
Spacer()
6177
Button("Service Area") {

0 commit comments

Comments
 (0)