有什么方法可以避免SwiftUI GeometryReader阻止嵌套视图在List中增长?

时间:2019-08-20 01:05:46

标签: ios swift swiftui

由于某种原因,将GeometryReader用作中介,如果它是List“单元”,则会杀死其嵌套视图的几何形状。

示例代码:

struct SampleView: View {
    var multilineText: some View {
        Text(
            """
            Some
            Amazing
            Multiline
            Copy
            """
        )
    }

    var body: some View {
        List(1...5, id: \.self) { _ in
            GeometryReader { _ in
                self.multilineText
            }
        }
    }
}

没有GeometryReader(预期)/实际为GeometryReader

显然,此示例过于简化,但是出于正当理由,我正在为正在构建的嵌套视图测量几何形状。

这是Xcode 11 beta 6上的版本。我应该直接将其报告为错误,还是可以预期并可行?

1 个答案:

答案 0 :(得分:1)

为列表添加最小行高。

List(1...5, id: \.self) { _ in
    GeometryReader { _ in
        self.multilineText
    }
}.environment(\.defaultMinListRowHeight, 100)