Skip to content

Commit b83c465

Browse files
screens switching example
1 parent 938ecc0 commit b83c465

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

Example/Example/Screens/ContentView.swift

+28-3
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,40 @@ import SwiftUI
1010
import BlobMenu
1111

1212
struct ContentView: View {
13+
14+
enum Screen: Int {
15+
case wallet
16+
case exchange
17+
case commerce
18+
case stocks
19+
}
1320

21+
@State var screen: Screen = .wallet
1422
@Environment(\.blobMenuEnvironment) var menuEnvironment: BlobMenuEnvironment
1523

16-
1724
var body: some View {
25+
ZStack {
26+
screenView.edgesIgnoringSafeArea(Edge.Set.all)
27+
menuView
28+
}
29+
}
30+
31+
private var screenView: some View {
32+
switch screen {
33+
case .wallet: return Rectangle().fill(Color.red)
34+
case .exchange: return Rectangle().fill(Color.green)
35+
case .commerce: return Rectangle().fill(Color.gray)
36+
case .stocks: return Rectangle().fill(Color.yellow)
37+
}
38+
}
39+
40+
private var menuView: some View {
1841
VStack {
19-
BlobMenuView.createMenu(items: MenuItem.all)
42+
Spacer()
43+
BlobMenuView.createMenu(items: MenuItem.all, selectedIndex: self.screen.rawValue).padding(.bottom, 30)
2044
}.onReceive(menuEnvironment.$selectedIndex) { index in
21-
print("index: \(index)")
45+
guard let screen = Screen(rawValue: index) else { return }
46+
self.screen = screen
2247
}
2348
}
2449
}

0 commit comments

Comments
 (0)