1

私のアプリケーション (ビュー ベース) では、戻るボタンがナビゲーション バーに表示されません。そのボタンをクリックすると、アクションは正しく機能します。私にはとても奇妙です。戻るボタンは、iPhone OS 3.0 およびその他 (OS 4.0 を除く) で表示され、適切に機能します。私は現在 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 のみでは動作しません。では、どうすればこれを達成できますか?

4

2 に答える 2

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に役立つことを願っています。

于 2010-06-29T08:29:16.490 に答える
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];
于 2010-12-26T13:15:08.870 に答える