我遇到问题,我需要在UIBarButtonItem中插入图像,但它不会显示带图像的按钮。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//.........
UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:menuVC];
UINavigationBar *barraNav = navVC.navigationBar;
[barraNav setBackgroundImage:[UIImage imageNamed:@"navigationBar.png"] forBarMetrics:UIBarMetricsDefault];
// HERE
UINavigationItem *navItem = [[UINavigationItem alloc] init];
navItem = navVC.navigationItem;
UIBarButtonItem *botonIzq = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"bNavBarIzq.png"] style:UIBarButtonItemStylePlain target:self action:nil];
[navItem setLeftBarButtonItem:botonIzq];
self.window.rootViewController = navVC;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
答案 0 :(得分:0)
这应该有效:
UIImage *image = [[UIImage imageNamed:@"bNavBarIzq.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *botonIzq = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(YOUR_METHOD:)];
答案 1 :(得分:0)
导航项不是导航控制器的功能,而是其子项之一。它是menuVC
,其导航项目应在此处设置。
此外,这应该是menuVC
的工作,即代码应该在其类中 - 这不是应用程序委托的工作(虽然没有严格的错误,它'只是一个适当的分工和#34;事物类型。
答案 2 :(得分:0)
您使用的是错误的导航项目。 你应该使用menuVC one而不是navVC。
试试吧:
UIBarButtonItem *botonIzq = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"bNavBarIzq.png"] style:UIBarButtonItemStylePlain target:self action:nil];
menuVC.navigationItem.leftBarButtonItem = botonIzq;
另外,请检查此代码:
// HERE
UINavigationItem *navItem = [[UINavigationItem alloc] init];
navItem = navVC.navigationItem;
您已创建navItem,然后覆盖它。你应该重构它。