2013-04-05 52 views
0

我試圖添加一個圖標(並保留標題)到我的導航控制器的後退按鈕。看來如果我設置UIBarButtonItem的圖像,它隱藏了標題,所以我想我會嘗試一個自定義視圖。我試過將圖像和標題添加到導航backBarButtonItem

UIButton* customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[customButton setImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal]; 
[customButton setTitle:@"Title" forState:UIControlStateNormal]; 
[customButton setAdjustsImageWhenHighlighted:YES]; 
[customButton setFrame:CGRectMake(0, 0, 125, 32)]; 

UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithCustomView:customButton]; 
self.navigationItem.backBarButtonItem = backButton; 

但蘋果文檔說backBarButtonItem忽略自定義視圖,所以這是行不通的。

我也試過這樣:

self.navigationItem.leftBarButtonItem = backButton; 
self.navigationItem.hidesBackButton = YES; 

但leftBarButtonItem太早顯示出來一個屏幕和hidesBackButton似乎並沒有隱藏backBarButtonItem。

有沒有另一種方式來同時獲得圖像和標題導航backBarButtonItem?

回答

1

第一個由susing代碼self.navigationItem.hidesBackButton = YES;

隱藏由UINavigationController提供的後退按鈕,並用圖像和標題設置自己的按鈕用下面的代碼

UIButton* customButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[customButton setImage:[UIImage imageNamed:@"icon"] forState:UIControlStateNormal]; 
[customButton setTitle:@"Title" forState:UIControlStateNormal]; 
[customButton setAdjustsImageWhenHighlighted:YES]; 
[customButton setFrame:CGRectMake(0, 0, 125, 32)]; 

UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithCustomView:customButton]; 
self.navigationItem.backBarButtonItem = backButton; 
+1

> iOS7:「配置當您欄按鈕項目,請不要爲其指定自定義視圖;導航項目會忽略後欄按鈕中的自定義視圖「 – SoftDesigner 2014-01-30 15:36:42

+0

那麼我如何將自己的圖像添加爲後退按鈕? @SoftDesigner – Vinodh 2014-01-31 06:42:03

+0

我用這個解決方案http://stackoverflow.com/a/20283490/649379 @Vinodh。另外我會嘗試隱藏後退按鈕:http://stackoverflow.com/a/21225089/649379 – SoftDesigner 2014-01-31 14:02:44

相關問題