gpt4 book ai didi

ios - 如何使用 SwiftUI 显示全栈模式?

转载 作者:行者123 更新时间:2023-12-03 21:14:11 27 4
gpt4 key购买 nike

对于我的应用程序中的大部分导航,我的顶部有一个导航栏,底部有一个选项卡栏。我试图在单击按钮时显示全屏 View ,从而有效地删除所有导航。

关于 SO 的其他问题在没有导航栏或标签栏时解决了这种情况,因此它们并没有真正回答我的用例。

这是我尝试过的:

  • 单击时隐藏导航栏和选项卡栏:不适用于选项卡栏。如果我在关闭全屏 View 时尝试返回到另一个 View ,顶部导航就会出现问题。

  • 使用模式:它可以工作,但它不是全屏,这不适合我想要做的事情。

  • 在我通过按钮切换的所有内容之上使用 ZStack:这不会隐藏选项卡栏。

有解决方案吗,还是我应该放弃并使用模态?

谢谢

最佳答案

这是可能解决方案的演示。

demo

struct DemoModalOverTabView: View {
@State private var showModally = false
var body: some View {
ZStack {
TabView { // << main tab view
DemoTab
}.disabled(showModally) // << deactivate forcefully

if showModally {
DemoModal // << modal view
.zIndex(1) // << required !!
.transition(.move(edge: .bottom)).animation(.default)
}
}
}

var DemoTab: some View {
Button("Show") { self.showModally = true }
.tabItem { Image(systemName: "person") }
}

var DemoModal: some View {
Button("Hide") { self.showModally = false }
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.yellow)
.edgesIgnoringSafeArea(.all)
}
}

关于ios - 如何使用 SwiftUI 显示全栈模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61807625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com