【发布时间】:2019-06-28 20:19:50
【问题描述】:
以下是假设创建一个Text,其边界占据整个屏幕,但它似乎什么都不做。
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)
}
}
但似乎可以工作。
这是relativeSize 的 SwiftUI 错误,还是我遗漏了什么?
【问题讨论】:
-
您是否尝试过将您的内容放在
ZStack中?创建背景视图 -Rectangle、Image等等 - 然后将其他视图放在上面?