iOS: панель навигации с изображениями для кнопок

Я хотел бы создать панель навигации с изображениями в виде кнопок на правой стороне панели навигации.

Нечто вроде ниже Снимок

Как мне этого добиться?

Ответы на вопрос(4)

Решение Вопроса

Надеюсь это поможет

viewController.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage2.jpg"]]];    
viewController.navigationItem.rightBarButtonItem = item;    
 James Harpe29 окт. 2012 г., 17:02
Я думаю, что это то, что яищу Как я могу обработать прикосновения к этой кнопке?
 swiftBoy12 янв. 2015 г., 11:56
Ницца!! Я пробовал и этот, и ниже Kamarshad ответ, но этот ответ намного лучше, так как значок кнопки выглядит хорошо с "initWithCustomView»

UIBarButtonItem + WithImageOnly.h:

#import <uikit uikit.h="">

@interface UIBarButtonItem (WithImageOnly)

- (id)initWithImageOnly:(UIImage*)image target:(id)target action:(SEL)action;

@end
</uikit>

UIBarButtonItem + WithImageOnly.m:

#import "UIBarButtonItem+WithImageOnly.h"

@implementation UIBarButtonItem (WithImageOnly)

- (id)initWithImageOnly:(UIImage *)image target:(id)target action:(SEL)action {    
    CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height);
    frame = CGRectInset(frame, -5, 0);

    UIButton *button = [[UIButton alloc] initWithFrame:frame];
    [button setImage:image forState:UIControlStateNormal];
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

    return [self initWithCustomView:button];
}

@end

Использование:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithImageOnly:[UIImage imageNamed:@"image"] target:self action:@selector(someAction:)]
UIView *viewWithButtons = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)];
//view customization
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
//Button customiztaion
[viewWithButtons addSubview:leftButton];
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
//Button customiztaion
[viewWithButtons addSubview:rightButton];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:viewWithButtons];
[viewWithButtons release];

Вот код, просто позвоните нижеviewDidLoad метод

  - (void)addCustomButtonOnNavBar
  {
   UIBarButtonItem * item1= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"passImageNmae1"] style:UIBarButtonItemStylePlain target:self action:@selector(yourButtonAction1)];
   UIBarButtonItem * item2= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"passImageNmae2"] style:UIBarButtonItemStylePlain target:self action:@selector(yourButtonAction2)];
  NSArray * buttonArray =[NSArray arrayWithObjects:item1,item2 ,nil];

   self.navigationItem.rightBarButtonItems =buttonArray;

  }
 James Harpe29 окт. 2012 г., 16:52
Это нет работа. Он пытается поставить изображение на кнопку. Я хочу, чтобы изображение было самой кнопкой.
 James Harpe29 окт. 2012 г., 16:56
Другими словами, я не смог получить скриншот, который я разместил с помощью этого кода.
 Gajendra K Chauhan02 янв. 2015 г., 13:08
@Karamshad Кнопка очень большая. Как правильно выбрать размер, подходящий для панели навигации?

Ваш ответ на вопрос