VStack 没有在 ScrollView 中填充屏幕宽度,在 List 中填充

Lin*_*rth 4 swift swiftui

我创建了一个可滚动的图像列表,如下所示:

NavigationView {
    List {
        ForEach(landmarks) { landmark in
            landmark.image(forSize: 200)
              // some modifiers...
    }
    .navigationBarTitle(Text(category.rawValue))
}
Run Code Online (Sandbox Code Playgroud)

这是此代码生成的 UI:

现在,我想摆脱List创建的行分隔符。因此,我替换ListScrollView. 这是预览然后显示的内容:

我该如何解决?

我见过另一个类似的问题,但接受的答案实际上并没有解决问题,而是引入了固定宽度。

Flo*_*rin 5

找到了一个完整的SwiftUI解决方案。

var body: some View {
    GeometryReader { geometry in
        ScrollView(alwaysBounceVertical: true) {
            VStack {
                // Your code
            }.frame(width: geometry.size.width)
        }
    }.edgesIgnoringSafeArea(.all)
}

Run Code Online (Sandbox Code Playgroud)

  • 对 UIKit 的依赖 (2认同)