Setting Toolbar Items of UINavigationController?

It's a perfectly acceptable way of doing it, but do bear in mind that loading xib files is quite expensive on the iPhone, and it may well be faster to create the toolbar items programatically in your viewDidLoad method.

2 Great. Since the XIB is already being loaded when the view controller class initialises (I checked "With XIB for user interface" when creating the view controller files), this approach shouldn't be any more expensive than programmatically creating the toolbar items. – Steve Harrison Aug 22 '09 at 11:44 Ah, if you're already loading an XIB then you won't add too much extra time.

Unarchiving objects from an XIB is more expensive than creating them in code, but unless your view takes ages to load I wouldn't worry about it. – iKenndac Aug 22 '09 at 14:23.

I don't know if this is documented anywhere, but I've found that in Interface Builder, if you enable the navigation controller's toolbar, you can drag bar items to your view controller, and they will automagically show up in the navigation controller's toolbar. For example, here's what we can do (using Xcode 3.2 on Snow Leopard): File->New Project.... Choose Navigation-based Application and create the project. Open MainWindow.

Xib in Interface Builder. Select the Navigation Controller, and in the Attributes inspector, check the "Shows Toolbar" box. This will cause a Toolbar object to appear.

Drag a Bar Button Item from the Library to the toolbar. It will appear in the toolbar. If you check the hierarchy in the NIB, you'll see that this new item is a child of the RootViewController.It seems that any Bar Button Items added as children of the navigation item will show up in the navigation bar, and any Bar Button Items added as children of the view controller will show up in the toolbar.

(I stumbled on this by accident. If anyone can find documentation for this behavior, or any additional info, I'd like to hear about it.).

I believe that's just the way it's supposed to be. Kind of like UIViewController magically loading it's xib if it has a matching filename. – Sneakyness May 14 '10 at 16:53 It works!

This is definitely the best way to set up the toolbar in a navigation view, I think. – Nathan Reed Sep 24 '10 at 2:53 In my application, I have a Tab Bar Controller and one of the tabs is a navigationController - pretty standard configuration. However if I follow what Kristopher is suggesting, after step 3, the toolbar appears behind the Tab Bar in the IB!

And when I try step 4 (I tried to add segment control/button), it just does not allow my to drop it on toolbar. Am I missing something here? – Dev Oct 7 '10 at 7:39 3 I know this is super old, but do you have any idea how to do this for subviews of the RootViewController?

In other words, if in RootViewController's code I create a FooController that is in its own nib and push it, then how can I set FooController's toolbar buttons in Interface Builder? – iand675 Nov 12 '10 at 4:54 @iand675 agree, I'd also like to know if there is a solution to do this with IB – dig May 7 at 8:30.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions