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

rsh*_*hev 7 ios swift swiftui

出于某种原因,将 aGeometryReader作为中介,如果它是一个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
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

显然,这个例子过于简化了,但是有一个合理的理由来测量我正在构建的嵌套视图的几何形状。

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

小智 2

添加列表的最小行高。

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