【问题标题】:SwiftUI: NavigationTitle display not normal with List and search fieldSwiftUI:NavigationTitle 显示与列表和搜索字段不正常
【发布时间】:2021-11-09 14:18:49
【问题描述】:

当我使用 NavigationView、NavigationTitle、List 和搜索字段时,会出现恼人的显示错误。

搜索字段和 NavigationTitle 与列表不对齐。

如果下一页有可搜索列表,将下一页列表拉下并完全显示搜索栏,对齐将恢复正常。但是如果你回到第一页,再次拉下搜索栏,就会出现同样的错误。

只要用Core Data新建一个项目,把NavigationView替换成这段代码,就可以轻松重现这个bug了。

    NavigationView {
      List {
        ForEach(items) { item in
          NavigationLink {
            List{}.searchable(text: $text).navigationTitle("Test")
          } label: {
            Text(item.timestamp!, formatter: itemFormatter)
          }
        }
        .onDelete(perform: deleteItems)
      }.searchable(text: $text){}.navigationTitle("Title")
        .toolbar {
          ToolbarItem(placement: .navigationBarTrailing) {
            EditButton()
          }
          ToolbarItem {
            Button(action: addItem) {
              Label("Add Item", systemImage: "plus")
            }
          }
        }
      Text("Select an item")
    }
  }

或者,我做错了什么?

【问题讨论】:

    标签: ios swift swiftui


    【解决方案1】:

    最终,我自己找到了解决这个问题的方法。

    我们可以手动设置列表样式:

    .listStyle(InsetGroupedListStyle())
    

    然后就正常显示了。

    【讨论】:

    • 你现在应该使用:` .listStyle(.insetGrouped)`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2018-02-10
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多