2 Answers
2

First of all you will need a single controller which will contain the segmented control, table view and other elements which you want to add.
Since there is a single controller for your application, any change in the segmented control can be captured in it. Once you capture the event you can decide whether to reload the tableview by updating the tableview or load a new view.

This new view can also be loaded as a modal view or as a new view to a navigation control or as a subview to the current view. (the call is left to you).

The advantage will be the segmented control and table view will be part of a UIView and scrolling one will not scroll the segmented view out of sight. Other advantage will be the new view will be loaded on top of the current view. You can have delegate methods to handle the back press event on the new view. You can also get data from the new view to a single controller.

UIView
--- Segmented control(you can wrap this into a seperate UIView
--- UITableView (it can also be wrapped into a seperate uiview )
--- Other widgets

Now you can have a single view controller controlling the above Main UIView. Hope this helps you. I have used a similar approach in one of my apps.

What you can do is have a segmented control basically change the table data source. Basically, set the action hitting either segment as [myTableView reloadData];. Then, in your data source methods, put some if statements up. For example, under numberOfRowsInSection, say: if (mySegmentedControl.selectedSegmentIndex = 1) //2nd button, use this array. Get what I mean?
This way you can use one view controller to with basically two (really one) table.