导航控制器不显示后退按钮
Posted
技术标签:
【中文标题】导航控制器不显示后退按钮【英文标题】:Navigation controller not displaying back button 【发布时间】:2015-12-08 15:17:18 【问题描述】:我有一个嵌入在导航控制器中的配置文件。当我创建一个转到另一个视图控制器(也嵌入在导航控制器中)的 segue 时,我得到下面的屏幕。我曾经看到后退按钮,在这种情况下,会说“
谁能帮我解决这个问题?我似乎找不到任何帮助!
这是我为 segue 编写的代码,用于从配置文件视图控制器转到关注者视图控制器,这是带有空白导航栏的控制器。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
if segue.identifier == "toFollowers"
var profileVC: FollowersViewController = segue.destinationViewController as! FollowersViewController
profileVC.followers = true
【问题讨论】:
你能把你的代码贴在这里吗? 检查视图控制器是否有title
。这是子视图控制器可见时后退按钮上显示的文本。如果该文本是nil
,则没有后退按钮。 Here is the same question
【参考方案1】:
您是在设置
hidesBackButton = YES
还是backBarButtonItem = nil
profileVC
,还是有不同的leftBarButtonItem 定义?
您是否通过编程方式删除了back
,请删除这些代码。
已编辑
以下代码返回有多少控制器进入UINavigationController
,请检查它是否大于0
。
var stack = self.navigationController!.viewControllers as Array
希望这对您有很大帮助。
【讨论】:
没有添加任何代码来删除或修改后退按钮。 我认为您的导航控制器无法推送下一个控制器,这就是为什么不显示。【参考方案2】:override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
if segue.identifier == "toFollowers"
//Try getting the navigation controller first as
var navVc = segue.destination as UINavigationViewContrller
//than
var profileVc = navVc.viewControllers.first as! FollowersViewController
// var profileVC: FollowersViewController = //segue.destinationViewController as! FollowersViewController
// profileVC.followers = true
【讨论】:
虽然“仅代码”的答案可能会完美解决问题中所述的问题,但为代码提供一些上下文通常是一件好事(OP 做错了什么,您的代码如何解决问题,...)以上是关于导航控制器不显示后退按钮的主要内容,如果未能解决你的问题,请参考以下文章