2013-07-16 23 views
1

ΩI've一直在努力現在就像一個小時做到這一點,似乎沒有任何工作:的UINavigationController - 按鈕改回圖像

事情我已經嘗試:

1)不工作。

UIImage *image = [UIImage imageNamed:@"scr1_button_topbar.png"]; 
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setBackgroundImage: [image stretchableImageWithLeftCapWidth:7.0 topCapHeight:0.0] forState:UIControlStateNormal]; 
button.frame= CGRectMake(0.0, 0.0, image.size.width, image.size.height); 
[button addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside]; 
UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, image.size.width, image.size.height) ]; 
[v addSubview:button]; 
UIBarButtonItem *forward = [[UIBarButtonItem alloc] initWithCustomView:v]; 
self.navigationItem.backBarButtonItem= forward; 

2)工程,但看起來非常愚蠢,它留下了「後退」文本。

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"scr2_btnback"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

3)按鈕不會顯示

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"scr2_btnback"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

和設置設置左邊欄按鈕項目文本@ 「」

4) - 作品,但是這是一個有點作弊,我想要後退按鈕,而不是左側按鈕。

UIImage *backImage = [UIImage imageNamed:@"scr2_btnback.png"]; 
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
backButton.frame = CGRectMake(0, 0, backImage.size.width, backImage.size.height); 

[backButton setImage:backImage forState:UIControlStateNormal]; 
[backButton addTarget:self action:@selector(backButton:) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton] ; 

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

回答

0

剛剛被告知,你不能編輯backBarButtonItem的視圖... YEEY我。