SJS
SJS

Reputation: 2645

Add multiple Buttons in Navigation Bar

Can any one help me to add more than one custom button to the right bar of the navigation bar. If possible please answer with the detail code, so that i can understand it properly.

Upvotes: 5

Views: 6384

Answers (2)

jcesarmobile
jcesarmobile

Reputation: 53301

Since iOS 5 there are this 4 methods available

- (void)setLeftBarButtonItems:(NSArray *)items animated:(BOOL)animated;
- (void)setRightBarButtonItems:(NSArray *)items animated:(BOOL)animated;
- (void)setLeftBarButtonItems:(NSArray *)items;
- (void)setRightBarButtonItems:(NSArray *)items;

where you can set an array of UIBarButtonItem

example:

NSArray * buttons = @[button1,button2];
[self.navigationItem setRightBarButtonItems:buttons];

Upvotes: 4

saadnib
saadnib

Reputation: 11145

//add a right btn to the navigation bar

UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 75.0f, 30.0f)];

UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn1 setFrame:CGRectMake(0.0f, 0.0f, 30.0f, 30.0f)];
[btn1 setTitle:@"1" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(btn1Tap:) forControlEvents:UIControlEventTouchUpInside];
[customView addSubview:btn1];

UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn2 setFrame:CGRectMake(35.0f, 0.0f, 30.0f, 30.0f)];
[btn2 setTitle:@"2" forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(btn2Tap:) forControlEvents:UIControlEventTouchUpInside];
[customView addSubview:btn2];

UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] initWithCustomView:customView];
[self.navigationItem setRightBarButtonItem:rightBtn];

Upvotes: 10

Related Questions