SwiftUI,如何在拖动后立即通过代码停止列表滚动?

Posted

技术标签:

【中文标题】SwiftUI,如何在拖动后立即通过代码停止列表滚动?【英文标题】:SwiftUI, how to stop List rolling immediately by code after dragging? 【发布时间】:2021-05-27 17:12:31 【问题描述】:

如标题所述。在某些情况下,我想立即停止滚动列表。 使用 UIKit 很容易。但在 SwiftUI 中似乎没有明显的方法。

【问题讨论】:

【参考方案1】:

只要UIScrollView.appearance().bounces = false

struct ContentView: View 
    init() 
        UIScrollView.appearance().bounces = false /// here!
    
    var body: some View 
        ScrollView 
            Rectangle()
                .frame(height: 1000)
        
    

【讨论】:

我想在它还在高速滚动的时候停止它,这与bounce无关。 @iaomw 如果将bounces 设置为false,那么它甚至不会高速滚动。你想在按下按钮时停止滚动吗?

以上是关于SwiftUI,如何在拖动后立即通过代码停止列表滚动?的主要内容,如果未能解决你的问题,请参考以下文章

滚动条自动上下滚,如何解决?

如何跳过列表索引超出范围错误而不是立即停止代码?

如何通过拖动在SwiftUI ZStack中重新排列视图

SwiftUI 在列表滚动期间停止更新

克隆上的jquery ui可拖动停止功能

如何在一定时间到期后立即停止线程? [复制]