GeometryReader
Skip support for SwiftUI.GeometryReader ↗.
The following example screens and source code is from SkipUI’s
Showcase sample app
GeometryReaderPlayground.swift ↗
import SwiftUI
struct GeometryReaderPlayground: View { var body: some View { ScrollView { VStack(spacing: 16) { Text("Size").bold() GeometryReader { proxy in HStack(spacing: 0) { Text("1/3") .font(.largeTitle) .frame(width: proxy.size.width * 0.33) .background(.blue) Text("2/3") .font(.largeTitle) .frame(width: proxy.size.width * 0.67) .background(.red) } } .frame(height: 50) Text("Frame").bold() GeometryReader { proxy in VStack { Text("Local frame: \(string(for: proxy.frame(in: .local)))") Text("Global frame: \(string(for: proxy.frame(in: .global)))") } } .background(.yellow) .padding() .border(.blue) .frame(height: 100) } .padding() } .toolbar { PlaygroundSourceLink(file: "GeometryReaderPlayground.swift") } }
private func string(for rect: CGRect) -> String { return "(\(Int(rect.minX)), \(Int(rect.minY)), \(Int(rect.width)), \(Int(rect.height)))" }}