2012-02-29 65 views
42

我有一個應用程序與導航欄,推到登錄屏幕視圖控制器,然後推到主菜單。有什麼辦法可以從主菜單中刪除後退按鈕,因此用戶無法返回到登錄屏幕?iOS如何刪除後退按鈕?

謝謝!

編輯:使用Xcode 4.3並以編程方式完成所有腿工作。

回答

104

你可以這樣做:

[self.navigationItem setHidesBackButton:YES]; 

在你的第二個視圖控制器(你要隱藏的按鈕之一)。

+0

太棒了!謝謝 – jbearden 2012-02-29 13:03:00

+3

可能想重新考慮使用導航堆棧,而是提供一個模態VC - 請參見下文。 – 2012-02-29 13:07:19

+0

爲了將來的參考,如果它不適合你,只需將該代碼放在viewDidAppear中:它就會開始工作。 – 2015-09-02 12:55:52

6

彼得斯的回答是正確的,但我認爲更好的問題是爲什麼?在類似於您想要登錄用戶的模式中,不要使用Pressed VC,而是使用Modal VC並使用委託方法來取回在登錄過程中獲取的用戶信息。如果您需要它,我可以發佈一個完整的代碼示例,但聽起來好像您的登錄過程有詳細的結果。只需使用:的

presentModalViewController 

代替:

pushViewController 

這樣的話,你就不必擔心導航堆棧和做的事情是不是真的在網上與用戶界面指南。

+0

好點。感謝您的反饋! – jbearden 2012-02-29 14:06:29

1

試試這個:

[self.navigationItem setHidesBackButton:YES]; 

或者

[self.navigationItem setHidesBackButton:YES animated:YES]; 
2

在迅速

self.navigationItem.hidesBackButton = true 
0

在Xcode7.3.1嘗試,快

self.navigationItem.setHidesBackButton(true, animated: true) 

它只隱藏後退箭頭和禁用後退動作,但我仍然可以看到前一個視圖控制器的名稱。

對於那些還想隱藏以前的視圖控制器的名稱,請嘗試Yoga's answer爲我工作。在迅速

self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: UIView())