导航栏按钮未显示

时间:2013-02-05 12:31:38

标签: iphone ios6 uinavigationcontroller

当尝试在左侧和右侧添加导航按钮时,它没有显示?这是我用过的代码,这有什么不对吗?

这就是我在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;

请帮忙。

6 个答案:

答案 0 :(得分:11)

我发现您的代码没有任何问题 只需检查您的图像或尝试使用圆角矩形图像进行测试

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;

答案 1 :(得分:3)

问题出在以下几行:

self.navigationController.navigationItem.leftBarButtonItem=random1;

只需使用

self.navigationItem.leftBarButtonItem=random1;

答案 2 :(得分: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使用相同的方法.Hope它适合你。谢谢

答案 3 :(得分: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];

答案 4 :(得分:0)

UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(nextToPhoneAuth)];
self.navigationItem.backBarButtonItem = barBtnItem

答案 5 :(得分:0)

请检查您的导航栏是否提供隐藏属性,并尝试使用默认后退按钮一次&让我们知道它是否有效。