2009-08-27 163 views
1

我試圖將後退按鈕更改爲自定義按鈕。如果我用一個自定義標題創建一個UIBarButtonItem,那工作正常。但是,如果我使用自定義視圖創建一個按鈕,該按鈕不會顯示,而是顯示默認的後退按鈕。有任何想法嗎 ?自定義後退按鈕視圖

 
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
backBtn.frame = CGRectMake(0, 0, 51, 31); 
[backBtn setImage:[UIImage imageNamed:@"nav_btn_back.png"] forState:UIControlStateNormal]; 
[backBtn addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *back = [[[UIBarButtonItem alloc] initWithCustomView:backBtn] autorelease]; 
self.navigationItem.backBarButtonItem = back; 

回答

0

不知道爲什麼這不起作用。不過,我意識到,我可以只設置此自定義按鈕作爲leftBarButtonItem對我的看法

+0

有點遲了,我知道......但這是因爲你無法自定義後退按鈕。就是這樣。但是,就像你說的,你可以自定義'leftBarButtonItem' – iwasrobbed 2010-07-23 20:07:38

0

您可以使用setBackButtonBackgroundImageApple doc

用法:

let backImg: UIImage = UIImage(named: "img_name")! 
backButton.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default) 

如果您正在使用它所有控制器,使用外觀

let backImg: UIImage = UIImage(named: "img_name")! 
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)