【发布时间】:2024-12-22 02:30:02
【问题描述】:
这是我想要的布局。
import SwiftUI
import PlaygroundSupport
struct TestView: View {
let text: String
var body: some View {
Text(self.text)
}
}
struct ContentView: View {
var body: some View {
ZStack {
TestView(text: "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla")
.frame(width: 250)
.background(Color.red)
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
但我也想使用GeometryReader,当我将Text 放在GeometryReader 中时,它会占据整个高度。
import SwiftUI
import PlaygroundSupport
struct TestView: View {
let text: String
var body: some View {
GeometryReader { reader in
Text(self.text)
}
}
}
struct ContentView: View {
var body: some View {
ZStack {
TestView(text: "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla")
.frame(width: 250)
.background(Color.red)
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
我该如何解决这个问题?
【问题讨论】:
-
这不是一个错误 - 这是一个预期的功能。
-
我知道但是如何使用geometryreader实现顶部布局?
-
在几何图形中使用 vstack 并在文本后使用 Spacer()?
标签: layout swiftui geometryreader