There are several ways to achieve this. I try to describe the one of which I believe it is easiest based on what I guess is your current level of experience.
Create a new empty view with a separate view controller.
Add two subviews to that view of the type container view. These views are designed to carry views that have their own view controllers. One of these containers is on top and has the size of the navigation bar and contains the navigation bar etc.
For that one you could create a separate view controller. However, I see no reason why that could not be the same view controller. (File's owner in IB)
It may well be a separate instance/class. That is up to you.
The remaining view is occupied by the second container view. This one contains a UITableView
for which a UITableViewController
(-subclass) is the File's Owner.
Unless you are more familiar with the view hierarchy and view controller hierarchy you should not break with the pattern (as given by default sceleton code and tutorials etc.) of having a 1:1 relation between table view controlers and table views. A UITableViewController
has a view
property as every UIViewController has. But for a UITableViewController
that must be a UITableView
and nothing else. The standard UITableViewController
is not capable of dealing with a UIView
as view
property that contains a table view and other views as siblings. Plus it is not a good idea of adding more subviews to the table view with respect to its scrolling behaviour etc.
By separating them you can deal with the table and still take examples straigt of tutorial code plus you can have a navigation bar on top that is not influenced by the table at all.
However, I should mention that you could get all of this much easier by using a proper navigation controller. That would bring in your navigation bar for free. You must have good rasons for not doing so.