[英]SwiftUI: Jump of List Items to headline in a Picker Form
已解决:清理构建文件夹并更新到最新的 xCode 版本后,我的问题就消失了。
我有一个导航视图,我在一个表单中。 我的问题是,在这个表单中,我有一个带有选择器的部分,它通过 ios 默认为我带来了一个新视图的导航链接,它向我显示了我的所有选项。 这个选项在一个列表中,但是一旦这个视图出现,它们就在 navgationTitle 下方,一秒钟后它们会跳到正确的位置。 我该如何解决这个跳跃问题? 我认为这个问题与 Picker 有关,因为它在内部调用导航链接。
我使用 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
您可以尝试在View
的init
中添加它:
UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))
这将删除NavigationBar
和Form
之间的默认空间(并防止跳跃)。 如果要保留此空间,可以将height
指定为其他值。
注意:这将全局更改UITableView
行为,而不是仅针对此特定View
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.