2016-03-03 99 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

相關問題