2011-07-20 9 views
3

NavigationViewControllerテンプレートからxcodeプロジェクトを開始しました。そして今、私がビューを押すと、そのビューにはデフォルトで編集ボタンがあり、バックバーボタンは表示されません。私はeditButtonコードと対応するsetEditingデリゲートメソッドをコメントアウトしました。しかし、私は戻るボタンを表示することはできません。私は間違って何をしていますか?私PlaylistViewControllerでナビゲーションコントローラのbackBarButtonItemが表示されない

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

あなたはpushViewControllerにUINavigationControllerを伝えるとき、それは自動的にnavigationItem.leftBarButtonItemがボタンであることを設定し、新しいビューを押す

前回のUIViewControllerのタイトルのタイトルを付けてください。

タイトルが設定されていない場合、デフォルトのテキストは「戻る」です。

タイトルが「」に設定されている場合、ボタンはまったく表示されません。

self.title = @""; 

このテキストを変更して、あなたの戻るボタンがここで設定したテキストと一致するようにしてください。

または、新しいUIViewControllerからleftBarButtonItemのテキストを手動で上書きすることができます。

+0

非常に不自由な感じ。 Tx。 initWithNibメソッドの各ビューにタイトルを設定しました。私はそれを知らずにそのself.title行をコピーして貼り付けていたに違いない... tx。 – vesselhead

+0

さらに、navigationItem.hidesBackButton = YESを使用できるようになりました。 – ozz

関連する問題