【问题标题】:searchable modifier not displaying search bar below navigation bar title可搜索修饰符未在导航栏标题下方显示搜索栏
【发布时间】:2021-12-08 14:09:24
【问题描述】:

我正在使用 iOS 15 并在 SwiftUI 的列表中尝试新的 searchable 修饰符。看起来当您将searchable(text: $searchText) 附加到 NavigationView 时,搜索栏默认呈现在导航栏标题下方的屏幕上。当我尝试使用它并运行模拟器时,搜索栏不会呈现在屏幕上。只有当我开始在屏幕上向下滚动列表时,搜索栏才会出现在屏幕上。

这是预期的行为吗?

这是代码。

@State private var searchText = ""
let data = (1...50).map( {_ in Int.random(in: 1...10)} )

var body: some View {
    NavigationView {
        List {
            ForEach(data, id: \.self) { d in
                Text("\(d)")
            }
        }
    }.searchable(text: $searchText)
}

滚动前

滚动后

​​>

【问题讨论】:

    标签: swiftui swiftui-list swiftui-navigationview swiftui-foreach


    【解决方案1】:

    这是默认行为,要始终看到它,我们需要提供相应的位置,例如

    NavigationView {
        List {
            ForEach(data, id: \.self) { d in
                Text("\(d)")
            }
        }
    }
    .searchable(text: $searchText, 
           placement: .navigationBarDrawer(displayMode: .always))  // << here !!
    

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 2022-11-22
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多