在SwiftUI应用程序中按下按钮时滚动到特定行的列表

在SwiftUI应用程序中按下按钮时滚动到特定行的列表,swift,iphone,uitableview,swiftui,swiftui-list,Swift,Iphone,Uitableview,Swiftui,Swiftui List,在SwiftUI应用程序中,我试图创建一个列表,当按下按钮时,该列表会自动滚动到下一行 显然,这个功能目前在SwiftUI列表中是不可能实现的,但是在UITableView中使用了ScrollToRowatineXpath方法,如本答案第3部分所述。这个答案解释得很好,但没有建议如何实现他们所描述的最佳解决方案 下面是列表在SwiftUI中的显示示例代码。目标是按下按钮,然后列表滚动到下一行。我认为解决方案需要与UIKit接口才能工作。如果有人能想出最干净的方法,那就太棒了。不幸的是,这不能用所

在SwiftUI应用程序中,我试图创建一个列表,当按下按钮时,该列表会自动滚动到下一行

显然,这个功能目前在SwiftUI列表中是不可能实现的,但是在UITableView中使用了ScrollToRowatineXpath方法,如本答案第3部分所述。这个答案解释得很好,但没有建议如何实现他们所描述的最佳解决方案

下面是列表在SwiftUI中的显示示例代码。目标是按下按钮,然后列表滚动到下一行。我认为解决方案需要与UIKit接口才能工作。如果有人能想出最干净的方法,那就太棒了。不幸的是,这不能用所有的SwiftUI来完成

提前感谢所有认为自己能够解决此问题的人

import SwiftUI

struct ScrollingList: View {
    var body: some View {
        List(0 ..< 10) { item in
            VStack {
                Text("\(item)")

                Button(action: {}) {
                Text("Scroll To Next Item")
                }
            }
            .frame(height: 500)
            .background(Color.blue)
        }
    }
}
导入快捷界面
结构滚动列表:视图{
var body:一些观点{
列表(0..<10){中的项目
VStack{
文本(“\(项目)”)
按钮(操作:{}){
文本(“滚动到下一项”)
}
}
.框架(高度:500)
.背景(颜色.蓝色)
}
}
}

看看这个漂亮的图书馆。使用它,您可以执行以下操作:

import Introspect

List {
  Text("some")
  Text("list")
}.introspectTableView { tableView in
          tableView.scrollToRowAtIndexPath(<#IndexPath#>, atScrollPosition: <#UITableView.ScrollPosition#>, animated: <#Bool#>)
        }
导入内省
名单{
文本(“部分”)
文本(“列表”)
}.introspectTableView{tableView中的
tableView.ScrollToRowatineXpath(,atScrollPosition:,动画:)
}

我建议对任何尚未具备UIKit功能的SwiftUI视图使用该库。