首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动画(at:at:scrollToRow:) SwiftUI

动画(at:at:scrollToRow:) SwiftUI
EN

Stack Overflow用户
提问于 2019-11-24 14:08:12
回答 2查看 384关注 0票数 1

我有包含100个项目的List,我想滚动到项目编号20,如何在SwiftUI中实现这一点

下面是我的简单ListCode

代码语言:javascript
运行
复制
struct ContentView: View {
    var body: some View {
        List {
            Button(action: {
                self.scrollToIndex(index: 20)
            }) {
                Text("Scroll To 20")
            }
            ForEach(0..<100) {_ in
                Text("Hello World")
            }
        }
    }

    func scrollToIndex(index: Int) {

    }
}
EN

Stack Overflow用户

发布于 2020-10-22 21:06:30

使用iOS 14中的新ScrollViewReader,您可以简单地执行以下操作:

代码语言:javascript
运行
复制
struct ContentView: View {
    var body: some View {
        ScrollViewReader { proxy in
            List {
                Button(action: {
                    self.scrollToIndex(proxy, index: 20)
                }) {
                    Text("Scroll To 20")
                }
                ForEach(0..<100) { i in
                    Text("Hello World").id(i)
                }
            }
        }
    }

    func scrollToIndex(_ proxy: ScrollViewProxy, index: Int) {
        withAnimation {
            proxy.scrollTo(index)
        }
    }
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59015113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档