我正在做一个项目,我正在实现SwiftUI默认导航栏[导航视图和导航链接],然后我为其余屏幕创建了自己的自定义导航栏。
因此,我在我的应用程序中使用SwiftUI navbar进行登录过程。但是在用户登录后,他们会被带到主页。这是我实现自己的navigationBar风格的地方。
现在您可以看到,我使用以下代码将登录按钮与主页链接在一起:导航链接(目标:首页检视())
你知道问题出在哪里了,就像我嵌套了两个导航视图,所以我得到了两个导航栏。我想隐藏登录过程中的默认导航栏。所以我尝试使用[.navigationBarHidden(true)],但它根本不起作用。
简而言之,我如何实现2个导航视图[一个默认视图,一个自定义视图],其中一个用于我的应用程序的一个部分,另一个用于另一个部分,而不会像这样发生冲突。
我能找到的最好的是:
//将此添加到我的主页视图()。navigationBarTitleDisplayMode(.inline)。navigationBarHidden(true)
导航栏显示模式更改为内联,但它仍然存在:)
我还是个初学者,所以你能帮帮我吗?
1条答案
按热度按时间iecba09b1#
只需要两个
UIViewController
,一个用于登录,一个用于主视图。因此,当从登录视图重定向到主视图时,不要通过
NavigationLink
进行重定向,因为那样你会遇到同样的问题(如果你做得正确,这应该是不可能的,因为你的登录视图和主视图是由它们自己的UIViewController
保存的)。只需关闭(viewControllerLogin.dismiss)登录视图并(viewControllerHome.present)显示主屏幕即可。
如果你在谷歌上搜索一小段,你基本上可以把一个(SwiftUI)视图 Package 到一个UIViewController中,这应该不是问题。
大概是这样:Example