Skip to content

Commit 3aa1e45

Browse files
committed
Add a geometry playground with proportional bars
1 parent eab74d6 commit 3aa1e45

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#if canImport(AndroidSwiftUI)
2+
import AndroidSwiftUI
3+
#else
4+
import SwiftUI
5+
#endif
6+
7+
struct GeometryPlayground: View {
8+
9+
@State private var tall = false
10+
11+
var body: some View {
12+
VStack(alignment: .leading, spacing: 16) {
13+
Text("A GeometryReader reports the space its parent offers.")
14+
15+
GeometryReader { geometry in
16+
VStack(alignment: .leading, spacing: 10) {
17+
Text("Offered: \(Int(geometry.size.width)) × \(Int(geometry.size.height))")
18+
// bars sized from the measurement — proof the number is live
19+
Text("half width")
20+
Rectangle()
21+
.fill(.blue)
22+
.frame(width: geometry.size.width / 2, height: 22)
23+
Text("one quarter")
24+
Rectangle()
25+
.fill(.green)
26+
.frame(width: geometry.size.width / 4, height: 22)
27+
}
28+
}
29+
.frame(height: tall ? 320 : 200)
30+
31+
Button(tall ? "Shrink the reader" : "Grow the reader") { tall.toggle() }
32+
}
33+
.padding()
34+
.navigationTitle("GeometryReader")
35+
}
36+
}

0 commit comments

Comments
 (0)