2012-06-04 103 views
1

我有該代碼。它可以將編輯按鈕添加到導航欄,但後退按鈕仍然存在,但它變得不負責任。如何從導航欄中刪除後退按鈕

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] 
           initWithTitle:@"Edit"            
           style:UIBarButtonItemStyleBordered 
           target:nil 
           action:nil]; 
[[self.navigationController.navigationBar.items objectAtIndex:1] setRightBarButtonItem:editButton]; 

[[self.navigationController.navigationBar.items objectAtIndex:1]setHidesBackButton:YES]; 

回答

5

簡單和短:

self.navigationItem.backBarButtonItem = nil; 

self.navigationItem.leftBarButtonItem = nil; 
+1

不工作... :(按鈕仍然存在和不可點擊... ... – Radislav

+0

可以NSLog self.navigationItem.backBarButtonItem – CarlJ

+0

id but = [[self。 navigationController.navigationBar.items objectAtIndex:1] backBarButtonItem]返回空指針... :( – Radislav

1

這些要麼將工作

self.navigationItem.leftBarButtonItem = nil; 

self.navigationItem.backBarButtonItem = nil; 
+1

echo ........... –

+0

無法正常工作... :(按鈕仍然存在且無法點擊... – Radislav

3

您還可以使用

的Objective-C:

self.navigationItem.hidesBackButton = YES; 

斯威夫特:類似這樣的前

navigationItem.hidesBackButton = true 
+0

我試過了,它不起作用,它只是讓我的按鈕不可點擊... – Radislav

6

我做了什麼。在那將推動你不想把這個地方你做你pushViewController後退按鈕下一個視圖控制器控制器:

myNextViewController.navigationItem.hidesBackButton = YES; 
[self.navigationController pushViewController:myNextViewController animated:YES]; 
+0

是的,在viewController推送之前做這件事是正確的選擇。 – SwiftArchitect

1

這是舊的,但讀這今天的答案後:

self.navigationItem.hidesBackButton = YES; 

是正確的,但不完整,這需要在以後的生命週期方法可以做到,那麼viewDidLoad中,又名折騰它viewWillApper或東西以後,它會工作

- (void)viewWillAppear:(BOOL)animated{ 
    self.navigationItem.hidesBackButton = YES; 
} 

希望這可以幫助有人看着一箇舊的職位,因爲我今天做