2011-07-20 19 views
3

我從NavigationViewController模板啓動了我的xcode項目。現在,當我推送一個視圖時,該視圖會默認出現一個編輯按鈕,並且沒有後退按鈕。我已經註釋掉editButton代碼和相應的setEditing委託方法。但我無法獲得後退按鈕。我究竟做錯了什麼?backBarButtonItem在導航控制器中未顯示

推新觀點:在我PlaylistViewController

PlaylistViewController *playlistViewController = [[PlaylistViewController alloc] init]; 
playlistViewController.managedObjectContext = self.managedObjectContext; 

[self.navigationController pushViewController:playlistViewController animated:YES]; 
[playlistViewController release]; 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    self.title = @""; 

    // self.navigationItem.leftBarButtonItem = self.editButtonItem; 

    // doesn't matter if this is here or not 
    self.navigationItem.hidesBackButton = false; 

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject)]; 
    self.navigationItem.rightBarButtonItem = addButton; 
    [addButton release]; 
} 
+0

我無法知道爲什麼會出現這種情況。所以我從Interface Builder中刪除了導航控制器,並用代碼手動創建它。一切都如預期般運作。 – vesselhead

回答

6

當你告訴一個UINavigationController到pushViewController,它會自動將navigationItem.leftBarButtonItem是一個按鈕與以前的UIViewController標題的標題。

如果未設置標題,則默認文本爲「返回」。

如果標題設置爲「」,則根本不顯示任何按鈕。

self.title = @""; 

請嘗試更改此文本,並且後退按鈕應與此處設置的文本相匹配。

或者您可以從新的UIViewController中手動覆蓋leftBarButtonItem的文本。

+0

感覺非常跛腳。 TX。我在initWithNib方法的每個視圖中設置了標題。我一定是複製和粘貼self.title行而不知道它...... tx。 – vesselhead

+0

此外,您現在可以使用navigationItem.hidesBackButton = YES; – ozz