2013-07-08 157 views
0

我試圖實現navigationcontroller,其中有uitableview。這個tableview應該是可編輯的,並且要向表中添加行,用戶應該在屏幕頂部的條上按加號按鈕。但是,當我添加uibarbuttonitem並將其設置在左側時,後退按鈕不會重新出現?我將如何讓它重新出現?添加自定義按鈕後,將後退按鈕添加回navigationController

編輯按鈕:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonPressed)]; 
[[self navigationItem] setRightBarButtonItem:button]; 

editButtonPressed方法:

[_actionList setEditing:TRUE]; 
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAction)]; 
[[self navigationItem] setLeftBarButtonItem:addButton animated:TRUE]; 
editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(editButtonDone)]; 
[[self navigationItem] setRightBarButtonItem:editButton animated:TRUE]; 
[self disableButtons]; 

editButtonDone方法:

[_actionList setEditing:FALSE]; 
editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonPressed)]; 
[[self navigationItem] setRightBarButtonItem:editButton]; 
[self enableButtons]; 

我很抱歉,如果這是愚蠢的初學者。

+0

嘗試重置左欄按鈕,當你離開編輯模式。 '[[self navigation item] setLeftBarButtonItem:nil animated:YES];' – Andy

+0

就是這樣,謝謝。 – Polyov

+0

@安迪如果你想要接受的答案,繼續前進並提交你的建議作爲一個,這是解決方案。 – Polyov

回答

1

嘗試,當你離開編輯模式重置左邊欄按鈕。

[[self navigationItem] setLeftBarButtonItem:nil animated:YES]; 
0

試試這個:

[yourNavBar pushNavigationItem:self.navigationItem animated:NO]; 

希望它可以幫助

+0

對不起,這不起作用。 – Polyov