在 SwiftUI ScrollView 中停止垂直滚动

Posted

技术标签:

【中文标题】在 SwiftUI ScrollView 中停止垂直滚动【英文标题】:Stop vertical scroll in SwiftUI ScrollView 【发布时间】:2019-07-04 05:20:45 【问题描述】:

我尝试使用 swiftUI 实现一个滚动视图。在滚动视图内部有一个包含另一个视图的水平堆栈(HStack)。我希望滚动视图水平滚动。但它也垂直滚动。以下是我的代码:

struct categoryRow : View 
var categoryName: String
var landmarks : [Landmark]
var body: some View 
    VStack(alignment: .leading)
        Text(categoryName).font(.headline).padding(EdgeInsets(top: 15, leading: 10, bottom: 0, trailing: 0))
        ScrollView (alwaysBounceHorizontal: true, showsHorizontalIndicator: false, showsVerticalIndicator: false )
            HStack(spacing: 15)
                ForEach(landmarks)  landmark in
                    NavigationButton(destination: LandMarkDetails(landmark: landmark)) 
                        CategoryItem(landmark: landmark)
                    
                
            .padding()
        .frame( height: 190)
    


我找不到任何停止垂直滚动的选项。我在这里错过了什么?

【问题讨论】:

如果 ScrollView 的高度小于内容的高度,它也会垂直滚动。只是让它更高或内容更窄。 我明白了。移除填充物就完成了这项工作。您可以发布答案以便我接受吗?@BogdanFarca 【参考方案1】:

如果 ScrollView 的高度小于内容的高度,它也会垂直滚动。

只是让它更高或内容更窄。

【讨论】:

以上是关于在 SwiftUI ScrollView 中停止垂直滚动的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:在 ScrollView 中居中内容

SwiftUI — 如何在 ScrollView 中显示倒计时?

SwiftUI:在 ScrollView 中显示 HTML 文本

如何在 SwiftUI 的 ScrollView 中制作动画? SwiftUI 中的手风琴风格动画

如何在 SwiftUI 中使用 NSAttributedString 和 ScrollView?

SwiftUI:当用户在第一个 ScrollView 中点击该项目时,在特定索引处加载第二个 ScrollView