iOS自定义右侧导航栏

Haa*_*nti 4 objective-c uinavigationbar ios

我正在尝试在导航控制器中为右边的条形项设置图像,但iOS 6会一直显示黑色光晕.我已尝试过堆栈溢出的许多解决方案但无法使其工作.我目前的代码是这样的:

UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"gear"]
                                                              style:UIBarButtonItemStylePlain
                                                             target:self
                                                             action:@selector(someMethod)];
[rightItem setImageInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

[[self navigationItem] setRightBarButtonItem:rightItem];
Run Code Online (Sandbox Code Playgroud)

在iOS7中看起来像这是我想要的: 我想要的是 这就是它在iOS6中的外观 我现在有什么

Dha*_*nia 10

试试这个:

UIImage *faceImage = [UIImage imageNamed:@"gear.png"];
UIButton *face = [UIButton buttonWithType:UIButtonTypeCustom];
face.bounds = CGRectMake( 10, 0, faceImage.size.width, faceImage.size.height );//set bound as per you want
[face addTarget:self action:@selector(someMethod) forControlEvents:UIControlEventTouchUpInside];
[face setImage:faceImage forState:UIControlStateNormal];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:face];
self.navigationItem.rightBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)

它可以帮到你.