SwiftUI 选择器不会滚动到选择

问题描述

我正在尝试使用带有选择器的 SwiftUI 2 ScrollViewReader,以便点击 picker 在视图中显示带有当前选择的选择器列表(最好是一个锚点)。我尝试过的任何内容包括以下内容,都不会对列表产生任何影响。看起来这应该很简单。

struct ContentView: View {

    @State private var topIntYears: [Int] = createIntYearList()
    @State private var startYear = 1923
    @State private var startDollars: String = "1"

    var body: some View {
        vstack {
            Text("Do Something")
            NavigationView {
                ScrollViewReader { svr in
                    Form {
                        Picker("Base Year",selection: $startYear) {
                            ForEach(topIntYears,id:\.self) {
                                Text(String($0))
                                //this does not work
                                    .simultaneousGesture(
                                        TapGesture()
                                            .onEnded { _ in
                                                print("Picker tapped")
                                                svr.scrollTo(startYear)
                                            }
                                    )
                            }
                        }//pick
                        TextField("Base dollars",text: $startDollars)
                            .keyboardType(.decimalPad)
                            .padding()
                    }//form
                }//svr
            }//nav
        }//v
    }//body
}

func createIntYearList() -> [Int] {
    var years: [Int] = []
    for y in 1898...2021 {
        years.append(y)
    }
    return years
}//int years

Xcode 12.4、iOS 14.4 任何指导将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...