【问题标题】:Swift UI ScrollView layout behaviourSwift UI ScrollView 布局行为
【发布时间】:2023-01-25 05:52:20
【问题描述】:

SwiftUI 中的 ScrollView 是否建议其子项没有高度。

ScrollView {
    Color.clear
           .frame(idealHeight: 200)
           .background(.blue)
}

将导致

如框架文档中所写

为该视图建议的大小是为框架建议的大小,受任何指定约束的限制,并具有任何理想尺寸指定替换任何相应的未指定尺寸在提案中。

那么是不是说scrollView没有提出任何高度呢?

【问题讨论】:

    标签: swiftui layout


    【解决方案1】:

    带有垂直轴的 ScrollView 不提供高度,因为它的高度可能是无限的。 所以子视图采用他们的idealHeight。对于通常使用提供的所有高度的视图,如 ColorRectangle,对应于幻数10.

    struct SwiftUIView: View {
        @State private var height: CGFloat = 0
        var body: some View {
            ScrollView {
                Rectangle()
                    .background(
                        GeometryReader { geo in
                            Color.clear
                                .onAppear {
                                    height = geo.size.height
                                }
                        }
                    )
            }
            .overlay(Text(height.description), alignment: .bottom)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      • 2021-11-27
      • 2021-05-13
      • 2010-12-04
      相关资源
      最近更新 更多