繁体   English   中英

SwiftUI:列表项跳转到选取器表单中的标题

[英]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

您可以尝试在Viewinit中添加它:

UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude))

这将删除NavigationBarForm之间的默认空间(并防止跳跃)。 如果要保留此空间,可以将height指定为其他值。

注意:这将全局更改UITableView行为,而不是仅针对此特定View

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM