zl程序教程

您现在的位置是:首页 >  工具

当前栏目

SwiftUI 组件技巧大全之如何以编程方式滚动到一行

组件编程 如何 方式 技巧 大全 SwiftUI 滚动
2023-09-11 14:18:30 时间

SwiftUI 组件技巧大全之如何以编程方式滚动到一行

当执行简单的任务时,SwiftUI ScrollView 可能会变得非常乏味,而旧的亲爱的 UIKit 可能会非常非常令人沮丧。
请添加图片描述

好吧,可悲的是,滚动到所需的行就是其中之一。
在 UIKit 中,everyUIScrollView都有一个非常方便的方法来以编程方式滚动视图本身:

func setContentOffset(CGPoint, animated: Bool)

同样,每一种子类都有相似的方法;例如,UITableView您可以使用:

func scrollToRow(at: IndexPath, at: UITableView.ScrollPosition, animated: Bool)

令人惊讶的是,目前 SwiftUI 中缺少这些简单的功能,因此我们必须编写一些更复杂的代码来执行相同的任务。
我们将创建一个能够重现以下行为的演示应用程序:

struct ContentView: View {

    @State var selectedIndex: Int = 0

    var body: some View {

        NavigationView {
            VStack {

                List {
                    ForEach(0..<100, id:\.self) { index in
                        Text("Row number \(ind