1

左側と右側にナビゲーション ボタンを追加しようとすると、表示されませんか?これは私が使用したコードですか?これの何が問題なのですか?

これは、appdelegate にナビゲーション バーを追加した方法です。

  UIViewController *viewController1 = [[logyFirstViewController alloc] initWithNibName:@"logyFirstViewController" bundle:nil];
  UIViewController *viewController2 = [[logySecondViewController alloc] initWithNibName:@"logySecondViewController" bundle:nil];
  UIViewController *viewController3 = [[record alloc] initWithNibName:@"record" bundle:nil];
  UIViewController *viewController4 = [[searchview alloc] initWithNibName:@"searchview" bundle:nil];
  UIViewController *viewController5 = [[profilde alloc] initWithNibName:@"profilde" bundle:nil];
 self.tabBarController = [[UITabBarController alloc] init];

self.tabBarController.viewControllers = @[viewController1, viewController2, viewController3, viewController4, viewController5];
navigationController = [[UINavigationController alloc] initWithRootViewController:self.tabBarController];

self.navigationController.navigationBar.barStyle=UIBarStyleDefault;

[navigationController.navigationBar setAlpha:0.8f];
 [self.window addSubview:[navigationController view]];





 button4 = [UIButton buttonWithType:UIButtonTypeCustom];
 [button4 setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
 [button4 addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
 [button4 setImage:[UIImage imageNamed:@"del.png"] forState:UIControlStateNormal];
 UIBarButtonItem *random1 = [[UIBarButtonItem alloc] initWithCustomView:button4];
 self.navigationController.navigationItem.leftBarButtonItem=random1;

助けてください。

4

6 に答える 6

13

コードに問題はありません。画像を確認するか、丸みを帯びた四角形の画像でテストしてみてください

UIButton* button4 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button4 setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
[button4 addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *random1 = [[UIBarButtonItem alloc] initWithCustomView:button4];

self.navigationController.navigationBar.topItem.leftBarButtonItem=random1; の代わりに 使用します self.navigationController.navigationItem.leftBarButtonItem=random1;

于 2013-02-05T15:16:38.687 に答える
3

問題は次の行にあります:

self.navigationController.navigationItem.leftBarButtonItem=random1;

単に使用する

self.navigationItem.leftBarButtonItem=random1;
于 2013-02-05T12:45:20.910 に答える
0
UIButton *button4 =  [UIButton buttonWithType:UIButtonTypeCustom];
[button4 setImage:[UIImage imageNamed:@"del.png"] forState:UIControlStateNormal];
[button4 addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
[button4 setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)]];
    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:button4] autorelease];

leftBarButtonItemにも同じメソッドを使用します。うまくいくことを願っています。ありがとう

于 2013-02-05T12:38:32.007 に答える
0

それがあなたのために働くことを願っています...

UIButton *button4 = [UIButton buttonWithType:UIButtonTypeCustom];
[button4 setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
[button4 addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
[button4 setImage:[UIImage imageNamed:@"del.png"] forState:UIControlStateNormal];
UIBarButtonItem *random1 = [[UIBarButtonItem alloc] initWithCustomView:button4];
[button4 release];

[[self navigationItem] setLeftBarButtonItem:random1];
[random1 release];
于 2013-02-05T12:48:04.673 に答える
0

ナビゲーション バーに非表示のプロパティが用意されていることを確認し、デフォルトの [戻る] ボタンを一度試して、機能するかどうかをお知らせください。

于 2013-02-05T12:58:33.827 に答える
0
UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(nextToPhoneAuth)];
self.navigationItem.backBarButtonItem = barBtnItem
于 2013-02-05T12:56:07.343 に答える