Zum Inhalt springen
Skip

GeometryReader

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

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)))"
}
}