SwiftUI ScrollView动态高度

问题描述 投票:0回答:1

目前,我的滚动视图无法自动调整为内容的高度。我认为ASCollectionView是目前引起最多问题的一种。如果我手动调整框架高度(例如200,请参见图片),那么一切都可见。我当然要自动拥有它。您知道这如何工作吗?

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

弗洛里安语

enter image description hereenter image description here

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)
}
swift dynamic height swiftui
1个回答
0
投票

这里的问题是,无论给定多少空间,ASCollectionView都将(默认情况下)占用。当嵌套在ScrollView中时,可用空间量是不确定的。您可以将collectionView设置为自动根据其内容调整大小。 demo project here

中给出了一个示例

但是,嵌套滚动视图可能会造成困难,因此,我认为将标题文本放在ASCollectionView中的一部分中会更容易实现您想要的行为。

© www.soinside.com 2019 - 2024. All rights reserved.