2010-06-26 60 views
1

在我的應用程序(基於視圖)中,後退按鈕在導航欄中不可見。如果我點擊那個按鈕,這些操作就可以正常工作。這對我來說很奇怪。後退按鈕在iPhone OS 3.0和其他版本中可見並可正常工作(OS 4.0除外)。我目前正在iPhone OS 4.0中工作。後退按鈕在iPhone的iPhone OS 4.0的導航欄中不可見

這裏是我的代碼:

UIButton *btn=[[UIButton alloc] init]; 

[btn setImage:[UIImage imageNamed:@"Back.png"] forState:UIControlStateNormal]; 

[btn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; 
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, 70, 0, 20)]; 
UIBarButtonItem *b=[[UIBarButtonItem alloc] initWithCustomView:btn];  
self.navigationItem.leftBarButtonItem=b; 
[b release]; 
[btn release]; 

注:它不工作,僅適用於iPhone OS 4.0。那麼我怎麼能做到這一點?

回答

1

只要你替換這個代碼,無論你想在OS 4.0中工作正常。

UIButton *btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 40)]; 

UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 70, 40)]; 

[myView addSubview:btn]; 

UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0,5,50,30)]; 

[myImage setImage:[UIImage imageNamed:@"Back.png"]]; 

[myView addSubview:myImage]; 

[btn addTarget:self action:@selector(lOut) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *b1 = [[UIBarButtonItem alloc] initWithCustomView:myView]; 

self.navigationItem.leftBarButtonItem = b1; 

[btn release]; 

[b1 release]; 

[myView release]; 

[myImage release]; 

我希望它能幫助ypu。

+0

你好早安,我有同樣的問題,它仍然不能在iOS 4.3上工作。我使用2代碼1st設置自定義uinavigation欄如下: UIImageView * imageView =(UIImageView *)[navBar viewWithTag:1]; if(imageView == nil) imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@「navigation.png」]]; [imageView setTag:1]; [navBar insertSubview:imageView atIndex:0]; [imageView發佈]; } 然後您發送的代碼..任何幫助請參閱? – Veer 2012-02-15 17:19:16

0
UIButton *btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 40)]; 
[btn setImage:[UIImage imageNamed:@"info44.png"] forState:UIControlStateNormal]; 
[btn setImage:[UIImage imageNamed:@"info44_glowing.png"] forState:UIControlStateHighlighted]; 
[btn addTarget:[AppDelegate sharedAppDelegate] action:@selector(settingAction:) forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *settingButton = [[UIBarButtonItem alloc] initWithCustomView:btn]; 
self.navigationItem.leftBarButtonItem = settingButton; 
[btn release]; 
[settingButton release];