【发布时间】:2020-07-24 18:31:57
【问题描述】:
iOS 14 添加了一个新的ScrollViewReader 视图,您可以将其添加到ScrollView 或List 下的视图层次结构中,以便能够通过id 滚动到特定视图。但是,当您的部署目标是 iOS 13 时,如何在不使用 if #available 包装来复制视图层次结构的情况下添加它?
List {
ScrollViewReader { reader in //FIXME: 'ScrollViewReader' is only available in iOS 14.0 or newer
Section(header:
Text("Header")
.id(0)
) {
ForEach(items) { item in
ItemCell()
}
}
//for an example
if #available(iOS 14.0, *) {
Button("Scroll to Top") {
reader.scrollTo(0)
}
}
}
}
【问题讨论】:
-
我认为不复制您的视图层次结构并使用
if #available是不可能的,但如果是的话,我会对结果感兴趣。