【发布时间】:2020-11-14 18:55:57
【问题描述】:
我想动态设置 PagerViewTest 的框架高度,而无需手动设置直接作用于 GeometryReader 的高度(参见注释掉的行)。 正如您在图片中看到的那样,框架的尺寸比圆圈大得多。我希望它和圆一样大。
struct PagerViewTest<Content: View>: View {
let content: Content
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
var body: some View {
GeometryReader { geometry in
HStack(spacing: 0) {
return content
.frame( alignment: .leading)
}
}
// .frame(height: 200) // TODO: should not be hardcoded!
}
}
struct PagerViewTest_Previews: PreviewProvider {
static var previews: some View {
PagerViewTest() {
Circle()
.frame(width: 200)
Circle()
.frame(width: 200)
Circle()
.frame(width: 200)
}
.previewLayout(.sizeThatFits)
}
}
【问题讨论】:
-
你应该给你的圈子一个框架或大小!对?然后将该框架或大小提供给 GeometryReader