隐藏后,Swift无法显示后退按钮

时间:2015-04-01 14:58:56

标签: iphone swift ios8 xcode6

我有一个带静态单元格的UITableViewController,它有一个自定义后退按钮。我使用代码隐藏了viewDidLoad中的后退按钮:

var cancelBtn = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "closeSettings")
self.navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = cancelBtn

如果我没有self.navigationItem.hidesBackButton = true行,则仍会显示后退按钮箭头。在代码中使用该行,后退按钮被隐藏,取消按钮显示我想要的方式。当我从单元格打开另一个视图控制器时,问题就出现了,后退按钮不存在。单击单元格时,我实例化视图控制器,并使用导航控制器推送视图控制器。我试图把

self.navigationItem.hidesBackButton = false
在pushViewController()之前的代码中的

。当我这样做时,我看到后退按钮出现,但当在导航控制器上按下新的视图控制器时,后退按钮消失。

我甚至尝试将hidesBackButton = false行放在目标View Controller的viewDidLoad和viewDidAppear中,但是我无法显示后退按钮。任何人都可以帮助引导我朝着正确的方向指导我可能做错的事情吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试在self.navigationItem.hidesBackButton = false设置viewWillDisappear()

答案 1 :(得分:0)

尝试此设置

self.navigationItem.hidesBackButton = false

在ViewWillAppear部分中的目标视图控制器上。