首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当I popToRootViewControllerAnimated时导航栏消失

当I popToRootViewControllerAnimated时导航栏消失
EN

Stack Overflow用户
提问于 2015-11-03 19:15:55
回答 4查看 3.6K关注 0票数 1

当我使用这个函数时,我被发送回我的RootViewController,但是我的导航栏消失了。当我第一次运行应用程序时,我的导航栏可以正常工作,但当我登录并注销时,导航栏会消失。我正在使用顶部栏“推断”和使用推送序列。

我试着通过添加

navigationController?.navigationBar.hidden = falseviewWillAppearviewDidAppear函数。我也将此添加到RootViewController中,但它不起作用。是我的注销功能以某种方式删除了导航栏,还是我忘记了什么?

最好使用Swift语言。

EN

回答 4

Stack Overflow用户

发布于 2015-11-03 19:30:15

您永远不应该使用

代码语言:javascript
复制
navigationController?.navigationBar.hidden = false

相反,您应该使用

代码语言:javascript
复制
navigationController?.setNavigationBarHidden(false, animated: true)
票数 2
EN

Stack Overflow用户

发布于 2015-11-04 15:26:10

这个问题可能不是最好的,但我只是简单地让注销功能和注销按钮连接到导航控制器视图,而不是“嵌入”导航控制器的“主页”,就解决了这个问题。当我将注销按钮与“主页”连接时,它没有加载导航控制器设置等,它只加载了一次,因为它是初始视图控制器。我希望没有人会像我一样犯同样的错误。:)

票数 1
EN

Stack Overflow用户

发布于 2015-11-04 02:03:42

也许您的根视图控制器被设置为在导航控制器条目之前显示的控制器?如果是这样的话,在进入导航控制器时,您应该将导航控制器设置为根视图控制器。否则,如果您希望将视图添加到您使用的导航堆栈中,我建议您在转换视图时

代码语言:javascript
复制
self.navigationController?.pushViewController(viewController, animated: true)

然后弹回一个控制器,您可以使用

代码语言:javascript
复制
self.navigationController?.popToViewController(viewController, animated: true)

或者,如果根视图控制器在导航堆栈中,并且您希望返回到该堆栈,则使用

代码语言:javascript
复制
self.navigationController?.popToRootViewController(animated: true)

当然,动画布尔值是您自己的选择,“viewController”是您想要推入导航堆栈或弹回的视图控制器。我发现使用推送和弹出来实现导航堆栈比使用推送segues要好得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33497741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档