Try this
-(UIBarButtonItem *)getLeftBarbuttonItem{
UIButton *menuButton = [UIButton buttonWithType:UIButtonTypeCustom];
menuButton.frame = CGRectMake(0, 0, 24, 24);
[menuButton setImage:[UIImage imageNamed:@"menu-icon.png"] forState:UIControlStateNormal];
[menuButton addTarget:self.revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftbarButton = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
return leftbarButton;
}
-(void)showNavBarItem:(BOOL)isShow{
if(isShow){
[self.navigationItem setLeftBarButtonItem:[self getLeftBarbuttonItem] animated:true];
}else{
[self.navigationItem setLeftBarButtonItem:nil animated:true];
}
}
Right BarButton Hide
-(UIBarButtonItem *)getFirstBarbuttonItem:(BOOL)isHide{
UIButton *menuButton = [UIButton buttonWithType:UIButtonTypeCustom];
menuButton.frame = CGRectMake(0, 0, 24, 24);
[menuButton setImage:[UIImage imageNamed:@"menu-icon.png"] forState:UIControlStateNormal];
[menuButton addTarget:self.revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
menuButton.hidden = isHide;
UIBarButtonItem *leftbarButton = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
return leftbarButton;
}
-(UIBarButtonItem *)getSecondBarbuttonItem:(BOOL)isHide{
UIButton *menuButton = [UIButton buttonWithType:UIButtonTypeCustom];
menuButton.frame = CGRectMake(0, 0, 24, 24);
[menuButton setImage:[UIImage imageNamed:@"menu-icon.png"] forState:UIControlStateNormal];
[menuButton addTarget:self.revealController action:@selector(revealToggle:) forControlEvents:UIControlEventTouchUpInside];
menuButton.hidden = isHide;
UIBarButtonItem *leftbarButton = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
return leftbarButton;
}
self.navigationItem.rightBarButtonItems = @[[self getFirstBarbuttonItem:YES],[self getSecondBarbuttonItem:NO]];