2012-04-23 59 views
0

我有從UINavigationController繼承的視圖控制器。我想設置rightBarButtonItem。 我做了以下。以編程方式UINavigationBarItem

UINavigationItem* navItem = self.navigationItem; 
UIButton* btnOptionsView = [[UIButton alloc] init]; 
[btnOptionsView setImage:[UIImage imageNamed:@"options.png"] 
       forState:UIControlStateNormal]; 
[btnOptionsView sizeToFit]; 
UIBarButtonItem* btnOptions = [[UIBarButtonItem alloc] initWithCustomView:btnOptionsView]; 
navItem.rightBarButtonItem = btnOptions; 

但按鈕是不可見的,在調試模式下我已經注意到,btnOptions.width爲0,而且我不能設置標題navItem,像這樣

[navItem setTitle:@"title"] 

不會改變標題爲UINavigationItem

回答

0

您不應繼承UINavigationController。來自蘋果的文檔:

UINavigationController類實現了一個專門的視圖 控制器,管理分層內容的導航。這個 類不適用於子類。相反,如果您希望應用程序的用戶界面能夠反映內容的分層特性,則可以使用它的實例 。