【问题标题】:SwiftUI ScrollView dynamic HeightSwiftUI ScrollView 动态高度
【发布时间】:2020-03-13 00:49:29
【问题描述】:

我目前遇到的问题是我的滚动视图不会自动调整到内容的高度。我认为 ASCollectionView 是目前导致最多问题的一个。如果我手动调整框架高度(例如 200 - 见图),那么一切都是可见的。我当然想自动拥有它。你知道这是如何工作的吗?

我会很高兴的!祝你下午愉快。

弗洛里安

ScrollView {
    ForEach(self.collectionListViewModel.collections) { collection in
        NavigationLink(destination: GameListView()) {
            VStack(alignment: .leading, spacing: 5) {

                // Name der Sammlung:
                Text(collection.name)
                    .font(.headline)
                    .foregroundColor(Color.black)

                // Optional: Für welche Konsolen bzw. Plattformen:
                ASCollectionView(data: collection.platforms, dataID: \.self) { item, _ in
                    Text("\(item)")
                        .fixedSize()
                        .padding(.horizontal, 10)
                        .padding(.vertical, 5)
                        .background(Color(.blue))
                        .foregroundColor(Color.white)
                        .cornerRadius(5)
                }
                .layout {
                    let fl = AlignedFlowLayout()
                    fl.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
                    return fl
                }

            }
            .padding(.vertical, 10)
        }
        Divider()
    }
    .padding(.horizontal, 20)
}

【问题讨论】:

  • 你能把代码加到ASCollectionView()吗?
  • @krjw ASCollectionView() 是我使用的框架

标签: swift dynamic height swiftui


【解决方案1】:

这里的问题是 ASCollectionView 将(默认情况下)占用它所提供的空间。当嵌套在 ScrollView 中时,可用空间量是未定义的。您可以将 collectionView 设置为根据其内容自动调整大小。 demo project here中给出了一个例子

但是,嵌套滚动视图可能会导致困难,因此我认为通过将标题文本作为部分放在 ASCollectionView 中,可以更轻松地实现您所追求的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2023-03-09
    • 1970-01-01
    • 2021-04-22
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多