以下应该会创建一个边界占据整个屏幕的文本,但似乎什么也没有发生。
struct ContentView: View {
var body: some View {
Text("foo")
.relativeSize(width: 1.0, height: 1.0)
.background(Color.red)
}
}
以下技巧:
extension View {
/// Causes the view to fill into its superview.
public func _fill(alignment: Alignment = .center) -> some View {
GeometryReader { geometry in
return self.frame(
width: geometry.size.width,
height: geometry.size.height,
alignment: alignment
)
}
}
}
struct ContentView2: View {
var body: some View {
Text("foo")
._fill()
.background(Color.red)
}
}
似乎能够运行。
这是SwiftUI与relativeSize
存在的问题,还是我漏掉了什么?
ZStack
中吗?创建一个背景视图 -Rectangle
,Image
或其他 - 然后将你的其他视图放在上面? - user7014451