Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在SwiftUI中隐藏特定页面上的选项卡栏_Ios_Swiftui_Tabview - Fatal编程技术网

Ios 在SwiftUI中隐藏特定页面上的选项卡栏

Ios 在SwiftUI中隐藏特定页面上的选项卡栏,ios,swiftui,tabview,Ios,Swiftui,Tabview,我在应用程序中使用相机。该应用程序允许您在SwiftUI中的选项卡视图的帮助下导航到此摄像头视图。但是,问题是,当我在摄影机视图上时,我想将选项卡视图隐藏起来。到目前为止,我一直在努力寻找解决方案,但似乎找不到任何解决方案 这是一个 注意:如果预览失败,屏幕截图将包含图像。当我在真实设备上运行相机时,它工作正常。问题是我需要在进入相机视图后隐藏选项卡栏 下面是我正在使用的代码示例: import SwiftUI struct AppView: View { var body: some

我在应用程序中使用相机。该应用程序允许您在SwiftUI中的
选项卡视图
的帮助下导航到此摄像头视图。但是,问题是,当我在摄影机视图上时,我想将
选项卡视图隐藏起来。到目前为止,我一直在努力寻找解决方案,但似乎找不到任何解决方案

这是一个

注意:如果预览失败,屏幕截图将包含图像。当我在真实设备上运行相机时,它工作正常。问题是我需要在进入相机视图后隐藏选项卡栏

下面是我正在使用的代码示例:

import SwiftUI

struct AppView: View {
    var body: some View {
        TabView{
            Home()
                .tabItem {
                    // Add icon
                Text("Home")
            }

            MomentsCam()
                .tabItem {
                    // Add icon
                    Text("Camera")
            }.navigationBarHidden(true)

            Moments()
                .tabItem{
                    //Add icon
                     Text("Moments")
            }
        }
    }
}
我用TabView更新了你的情况。同样的想法:您正在使用
ZStack
@State-var-selection
。其思想是使用
选项卡视图的
.opacity
您的CameraView
(在我的示例中,这只是
图像(系统名:“plus.circle”)

struct选项卡视图模型:视图{
@状态变量选择:Int=0
var body:一些观点{
ZStack{
GeometryReader{中的几何体
选项卡视图(选择:自。$selection){
文本(“列表”)
.tabItem{
图像(系统名称:“列表.项目符号.下方.矩形”)
}.tag(0)
文本(“加”)
.tabItem{
图像(系统名称:“摄像头”)
}.标签(1)
文本(“更多类别!”)
.tabItem{
图像(系统名称:“square.grid.2x2”)
}.标签(2)
}
.不透明度(自选==1?0.01:1)
图像(系统名称:“plus.circle”)
.可调整大小()
.框架(宽60,高60)
.阴影(颜色:灰色,半径:2,x:0,y:5)
.偏移(x:geometry.size.width/2-30,y:geometry.size.height-80)
.ontapsigne{
self.selection=0
}
.不透明度(自选==1?1:0)
}
}
}
}

当您点击相机选项卡Item
TabView
不可见时

您可以根据需要尝试以下代码

  struct MomentsCam: View {
                var body: some View {
                    Text("Cam")
                }
            }

            struct Moments: View {
                var body: some View {
                    Text("Moments Cam")
                }
            }
            struct AppView: View {

                @State var  showCamera = false
                var body: some View {

                      GeometryReader{ p in
                    ZStack{
                    TabView{
                        Home()
                            .tabItem {
                                // Add icon
                            Text("Home")
                        }

                        Text("holder")
                            .tabItem {
                                // Add icon
                                Text("Camera")
                        }.navigationBarHidden(true).onAppear{
                            self.showCamera = true
                            print(p.size)
                        }

                        Moments()
                            .tabItem{
                                //Add icon
                                 Text("Moments")
                        }
                    }
                        if self.showCamera{
                    MomentsCam().frame(width: p.size.width, height: p.size.height).background(Color.white)
                            }
                        }
                    }
                }
            }

与其提供代码的屏幕截图,不如在这个问题中提供实际的代码。否则,您将被否决,我选择关闭此项,直到您这样做。我已添加了一份代码副本。