2016-03-03 68 views
2

我的选项卡栏控制器控制5个视图控制器,我希望在这5个主页面中所有后退按钮都被禁用并且不可见。我如何正确地做到这一点?我已经尝试了所有在这里看到的Swift命令,但现在还没有一个可行。Swift:如何隐藏标签栏控制器的第一个视图控制器上的后退按钮?

enter image description here

我试图与

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.navigationItem.hidesBackButton = true 
} 

override func viewWillAppear(animated: Bool) { 
    self.navigationItem.hidesBackButton = true 
} 

,但他们没有工作。我也试图与

self.tabBarController?.navigationItem.hidesBackButton = true

但是这是奇怪的结果

enter image description here

+0

'self.navigationItem.hidesBackButton = true'试过了吗? – iAnurag

+0

@iAuurag查看我的更新 –

+0

您是否需要所有视图控制器上的导航栏? – iAnurag

回答

1

后退按钮可能是由navigationcontrollertabbarcontroller增加。所以你必须检查tabbar导航控制器。

事情是这样的:

self.tabbarcontroller.navigationcontroller.navigationitem.hidesBackButton = true 

我认为这将解决这个问题。由于后退按钮通常是由navigationcontroller,而不是由一个tabbarcontroller

更新

我已经推荐了他,他应该松tabbarcontroller后的导航控制器添加。由于tabbar已经实现了不同视图之间所需的导航。这和hidesbackbutton = true解决了他的问题

+0

恐怕这也行不通...我不知道为什么这些愚蠢的东西迫使我浪费这么多时间... –

+0

检查故事板中是否有导航项目。点击导航控制器并查看场景。里面有导航项吗? – SamuelD

+0

在故事板的最开始处,在登录视图控制器之前还有一个导航控制器。在我的问题中看到我的照片 –

2

要从导航栏中删除“后退”按钮,您可以为故事板中的UITabBarController创建UITabBarController类,并在该类中的ViewDidLoad()方法内部,可以调用

self.navigationItem.hidesBackButton = true 

这将删除后退按钮。

+0

这对我有用。它隐藏后退按钮以防止导航 – William

相关问题