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