Ios – How to visually create and use static cells in a UITableView embedded in a UIViewController

iosobjective cxcode4.2

I'm using XCode 4.2 and have built my UI using Storyboards. I need to create a view that has content above and below a UITableView and I can achieve this by using a UIViewController. A UITableViewController does not let you add content above or below the table. You can use the table header/footer but that doesn't work for what I would like to achieve.

I now have a UIViewController with a UITableView embedded in it. I can adjust the height and width of the UITableView accordingly which provides me the UI layout that I am looking for.

I can customize the static cells in the UITableView but when I try to build I get the following error:

Illegal Configuration: Static table views are only valid when embedded in UITableViewController instances

My question is how are others getting around this? Creating a tableview with static cells and laying them out visually is very nice but apparently that is not allowed for some reason that I cannot understand. I can't switch to a UITableViewController because of my visual layout requirements.

Any assistance would be greatly appreciated.

Best Answer

You can achieve this in Xcode 4.5 and later versions, assuming your app is targeted at iOS 6+.

In the Storyboard simply create a UIViewController with a View Container inside it's main view. Then hook up that View Container to a UITableViewController that contains static cells.

Just like this:

enter image description here

You don't need a single line of code. Just control click, drag and select embed. The view controller containment is handled for you.