The navigation controller manages the navigation hierarchy. In a normal navigation-based app it will have a series of view controllers which will pop onto the stack as and when you navigate through them. As you progress forward through the hierarchy, view controllers will be added and initialised, and dealloc'd when you go back through the navigation hierarchy to the root view controller. However, view controllers that you have navigated from will not be dealloc'd, but instead stacked up in terms of the number of views deep.
I think you may have to link up the navigation bar to the navigationItem property of the view controller using Interface Builder (control click the file owner in IB and then drag to the mouse to the navigation bar and select navigationItem).
This will ensure that the current view controller's navigation item property corresponds to your navigation bar. Then you can do anything navigation bar-specific from within each view controller, such as add bar buttons (e.g. save, done or cancel buttons) or track touches.
I think the navigation bar is 320x44 pixels in size in portrait mode.
Also, check out the navigation controller object itself, which I think keeps a reference to the navigation bar item itself (the actual bar view). Apple's documentation is a good place to read more about this.