leftbarbuttonitem不显示在导航栏中

我一直在开发一个iOS应用程序,并一直在使用图像作为导航栏中的左栏button项的问题。 我尝试了以下方法:

UIImage *backButtonImage = [UIImage imageNamed:@"backbuttonCB"]; CGRect buttonFrame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height); UIButton *backButton = [[UIButton alloc] initWithFrame:buttonFrame]; [backButton setImage:backButtonImage forState:UIControlStateNormal]; UIBarButtonItem *backBarButtonItem= [[UIBarButtonItem alloc] initWithCustomView: backButton]; self.navigationItem.leftBarButtonItem = backBarButtonItem; 

酒吧button似乎永远不会显示在运行应用程序。

然后,我继续尝试下面的其他方法。

 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backbuttonCB"] style:UIBarButtonItemStylePlain target:nil action:@selector(methodname)]; 

这个方法实际上工作。 然而,显示的图像是蓝色的,看起来不像是这个意思。 改变这个图像的色调并没有帮助。

任何想法如何我可以解决这个问题?

编辑:更多的信息,如果有帮助。 这是导航堆栈中的第一个视图。 导航堆栈以模态方式显示,即存在先前的视图控制器,并且在先前的视图控制器和导航控制器之间存在模态延续。 这是导航堆栈中的第一个视图。

编辑:问题是固定的。 我认为这是一个在Xcode中的错误,因为当我重新启动Xcode并用实际的设备而不是模拟器testing它,它工作正常。 但是,似乎仍然不能在仿真器上工作。

试试用这种方法设置你的leftBarButtonItem。 在模态展示时,它不会显示出来。

self.navigationController?.navigationBar.topItem.leftBarButtonItem =

尝试使用这个代码,

 self.navigationItem.hidesBackButton=YES; UIImage *buttonImage = [UIImage imageNamed:@"Back"]; UIButton *aButton = [UIButton buttonWithType:UIButtonTypeCustom]; [aButton setImage:buttonImage forState:UIControlStateNormal]; aButton.frame = CGRectMake(0.0,0.0,buttonImage.size.width,buttonImage.size.height); [aButton addTarget:self action:@selector(backBtnTapped) forControlEvents:UIControlEventTouchUpInside]; UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:aButton]; self.navigationItem.leftBarButtonItem = backButton; 

我有同样的问题。 要查看button,我必须更改色调颜色,这里是Swift中的代码:

 self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(image:UIImage.init(named: "btn_back_default")!, style:UIBarButtonItemStyle.Plain, target: self, action: Selector("back")) self.navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor() 

将你的代码replace为一个customType来初始化button,如下所示:

 UIImage *backButtonImage = [UIImage imageNamed:@"backButtonCB"]; CGRect buttonFrame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height); UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [backButton setFrame:buttonFrame]; [backButton setImage:backButtonImage forState:UIControlStateNormal]; UIBarButtonItem *backBarButtonItem= [[UIBarButtonItem alloc] initWithCustomView: backButton]; self.navigationItem.leftBarButtonItem = backBarButtonItem; 

希望能帮助到你….:)