ios - 使 NavigationView 可搜索,但仅限 TabView 中的一页

标签 ios swift user-interface search swiftui

我有一个 NaviagtionView,里面有一个 TabView 和 4 个 TabItem。 TabItem 之一应显示搜索栏。我可以使 NavigationView .searchable ,但我只想将其放在要进行搜索的 TabItem 内。我怎样才能做到这一点? 这是我的代码:

var body: some View {
    NavigationView {
        
        TabView{
            HomeScreen()
                .background(Color("BackgroundColor"))
                .tabItem{
                    Image(systemName: "house")
                }
            PostScreen()
                .background(Color("BackgroundColor"))
                .tabItem{
                    Image(systemName: "plus")
                }
            SearchScreen()
                .background(Color("BackgroundColor"))
                .tabItem{
                    Image(systemName: "magnifyingglass")
                }
            ProfileScreen()
                .background(Color("BackgroundColor"))
                .tabItem{
                    Image(systemName: "person")
                }
        }
        .navigationTitle("MyApp")
        .navigationBarTitleDisplayMode(.inline)
       .searchable(text: $text)
        
        
    }
}

最佳答案

在 NavigationView 之后可使用单个 subview 进行搜索。所以我的修改是去掉父NavigationView,在单独的View中添加NavigationView。

也检查这个答案

https://stackoverflow.com/a/73180190/4549220

关于ios - 使 NavigationView 可搜索,但仅限 TabView 中的一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72618655/

相关文章:

ios - 在 UITabBarController 中切换选项卡后 UIRefreshControl 卡住了

javascript - 固定位置不适用于 ios 设备

iOS 上的 C# 库

ios - userAcceleration 返回的计量单位是什么?

python Tkinter focus_set() 在捕获按键事件时无法正常工作

ios - 安全地使用 CFBridgingRelease

ios - 检查 iOS 9 和 10 上已安装的应用程序

swift - SpriteNode 位置与触摸位置

android - 如何在 Android XML 中创建固定高度的垂直线?

python - 用于部署 Python 应用程序的跨平台 gui 工具包