2012-04-30 42 views
0

私は、AHViewControllerをルートビューコントローラとして使用してUINavigationControllerを持っています。issueナビゲーションバーにleftBarButtonItemを追加する

は、その後、私はAHViewControllerののviewDidLoadから、それに左のバーボタンアイテムを追加しようとしました:

UIButton * backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [backButton addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside]; 
    [backButton setImage:[UIImage imageNamed:@"grid.png"] forState:UIControlStateNormal]; 
    UIBarButtonItem *backButtonBarItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
    //[self.navigationItem setLeftBarButtonItem:backButtonBarItem]; 
    [self.navigationController.navigationItem setLeftBarButtonItem:backButtonBarItem]; 
    [backButtonBarItem release]; 

はしかし、私は何を見ていないです。どうしてこれなの?

答えて

1

の代わりに:

[self.navigationController.navigationItem setLeftBarButtonItem:backButtonBarItem]; 

これを行います。

[self.navigationItem setLeftBarButtonItem:backButtonBarItem]; 

UINavigationControllerは、トップビューコントローラのnavigationItemなく、その(UINavigationControllerの)ナビゲーション項目のプロパティを使用しています。

+0

私も、それは – adit

+1

@aditが-initWithTitleを使用して、簡単なUIBarButtonItem作ってみましょう働かなかったことを試してみました:スタイル:ターゲットをあなたがそれをそのように見せることができるかどうかを見てください。これがうまくいけば、UIButtonをバーボタン項目のカスタムビューとして使うか、UIButtonを設定するかのどちらかの問題があります。 –

0

ありがとう "Simon Golden" Answer私の仕事。

前:

self.navigationItem.LeftBarButtonItem: backButtonItem; 

(これは私のボタンを表示しない)後:(私のためにこの仕事とボタン表示)

[self.navigationItem setLeftBarButtonItem: backButtonItem]; 

ストーリーボードがLeftBarButtonItemを持っていなかった場合とViewControllerのRightBarButtonItem、Button(setLeft/RightBarButtonItem)を設定する必要があります。

そうでない場合は、単純な変更項目の属性(self.navigationItem.Left/RightBarButtonItem)

関連する問題