【发布时间】:2019-07-03 18:59:13
【问题描述】:
尝试在 SwiftUI 中构建一个条形图元素,其宽度与其父视图成比例,基于元素的值。这是问题的简化版本:
struct BarView : View {
var body: some View {
Color.purple
.relativeWidth(0.5)
}
}
...产生:
我希望 relativeWidth 修饰符使用它的父级,它应该是屏幕的宽度,所以颜色视图应该是屏幕宽度的一半并居中。如果视图嵌入在框架视图中,它会按预期工作:
struct BarView : View {
var body: some View {
Color.purple
.relativeWidth(0.5)
.frame(width: 200, height: 200)
}
}
我需要视图在其容器内灵活而不指定框架。我意识到有 GeometryReader,但是当 relativeWidth 似乎正是这里所需要的时,这似乎有点像黑客。有什么想法吗?
【问题讨论】:
-
这是一个测试版产品,谁知道呢,也许它的行为正是它的预期行为。
标签: swiftui