已解决:清理Build文件夹并更新到最新的xCode版本后,问题对我而言已经消失了。
我有一个导航视图,并且我处于表单中。我的问题是,在此表单中,我有一个带选择器的小节,它在ios默认情况下通过导航链接带到一个新视图,该视图显示了我的所有选项。此选项在列表中,但是一旦出现此视图,它们就会在navgationTitle下方,然后一秒钟后,它们会跳到正确的位置。我该如何解决这个跳跃问题?我认为该问题与选择器有关,因为它在内部调用导航链接。
我使用XCode 11.5,下面是导致问题的示例代码:
@State var i = 0
var body: some View {
NavigationView {
Form {
Section {
Picker(selection: $i, label: Text("Pick")) {
ForEach(0..<5,id: \.self) {
Text($0.description)
}
}
}
}.navigationBarTitle("PickerTest")
}
}
此答案为我解决了一个非常类似的问题,但不适用于此特定案例https://stackoverflow.com/a/59591337/13679052
答案 0 :(得分:0)
您可以尝试将其添加到init
的{{1}}中:
View
这会删除UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))
和NavigationBar
之间的默认空格(并防止跳转)。如果要保留此空间,可以将Form
指定为其他值。
注意:这将全局更改height
的行为,而不仅限于此特定的UITableView
。