2012-04-30 35 views
0

我有一個UINavigationController與我的AHViewController作爲根視圖控制器。問題添加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

謝謝「西蒙金」回答爲我工作。

之前:(這不是出現在我的按鈕)

self.navigationItem.LeftBarButtonItem: backButtonItem; 

後:(這項工作對我和按鈕顯示出來)

[self.navigationItem setLeftBarButtonItem: backButtonItem]; 

如果情節提要沒有LeftBarButtonItem和RightBarButtonItem在ViewController中,我們必須設置Button(setLeft/RightBarButtonItem)。

否則只是簡單的改變的項目(self.navigationItem.Left/RightBarButtonItem)