adding more than two button on the navigationbar

戏子无情 提交于 2019-11-28 05:04:43
Naveen Thunga
UIToolbar* toolbar = [[UIToolbar alloc]
                      initWithFrame:CGRectMake(0, 0, 320, 45)];
[toolbar setBarStyle: UIBarStyleBlackOpaque];

// create an array for the buttons
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:5];

// create a standard save button
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc]
                               initWithBarButtonSystemItem:UIBarButtonSystemItemSave
                               target:self
                               action:@selector(deleteAction:)];
saveButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:saveButton];
[saveButton release];

// create a standard delete button with the trash icon
UIBarButtonItem *deleteButton = [[UIBarButtonItem alloc]
                                 initWithBarButtonSystemItem:UIBarButtonSystemItemTrash
                                 target:self
                                 action:@selector(deleteAction:)];
deleteButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:deleteButton];
[deleteButton release];

UIBarButtonItem *addbutton = [[UIBarButtonItem alloc]
                                 initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                 target:self
                                 action:@selector(deleteAction:)];
addbutton.style = UIBarButtonItemStyleBordered;
[buttons addObject:addbutton];
[addbutton release];

UIBarButtonItem *editButton = [[UIBarButtonItem alloc]
                              initWithBarButtonSystemItem:UIBarButtonSystemItemEdit
                              target:self
                              action:@selector(deleteAction:)];
editButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:editButton];
[editButton release];

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc]
                               initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                               target:self
                               action:@selector(deleteAction:)];
doneButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:doneButton];
[doneButton release];

// put the buttons in the toolbar and release them
[toolbar setItems:buttons animated:NO];
[buttons release];

// place the toolbar into the navigation bar
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];
[toolbar release];

Try this code snippet

And In AppDelegate.h file you declare this

UINavigationController *navigationController; 

And AppDelegate.m file

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Override point for customization after application launch.

// Add the view controller's view to the window and display.
navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window addSubview:navigationController.view];
[self.window makeKeyAndVisible];

return YES;
}

with iOS 5 you can add more buttons

self.navigationItem.leftBarButtonItems = [NSArray arrayWithObjects:uibarbuttonInstance1, uibarbuttonInstance2, nil];

same for right buttons

self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:uibarbuttonInstance1, uibarbuttonInstance2, nil];

I think i'm giving u my code this will solve ur problem ...

-(void) initializeNavigationalBar {

self.navigationItem.title  = @"What Ever");

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:(57/255) green:(57/255) blue:(57/255) alpha:1];
UIBarButtonItem *optionBtn; 
optionBtn = [[UIBarButtonItem alloc] 
             initWithImage:[UIImage imageNamed:@"image1.png"]
             style:UIBarButtonItemStylePlain 
             target:self 
             action:@selector(LoadOption:)];
self.navigationItem.leftBarButtonItem = optionBtn;

// create a toolbar to have two buttons in the right
UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 60, 44.01)];
// create the array to hold the buttons, which then gets added to the toolbar
NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2];

UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc] 
                                initWithImage:[UIImage imageNamed:@"image2.png"]
                                style:UIBarButtonItemStylePlain target:self 
                                action:@selector(decrement:)];

[buttons addObject:rightBtn];
[previousBtn release];
UIBarButtonItem *leftBtn = [[UIBarButtonItem alloc] 
                            initWithImage:[UIImage imageNamed:@"image3.png"]
                            style:UIBarButtonItemStylePlain target:self 
                            action:@selector(increment:)];
[buttons addObject:leftBtn];
[nextBtn release];
[tools setItems:buttons animated:NO];
tools.tintColor = [UIColor colorWithRed:(57/255) green:(57/255) blue:(57/255) alpha:1];
[buttons release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];    

}

Enjoy...

this code work well.just now i check your code. Build-->clean all targets and then check

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!