UITableViewController inside a UIViewController

2019-01-22 04:11发布

I'm new to iOS and objective-C and I'm having some trouble in understanding how controllers work.

In my code I have a UIViewController (with my custom controller assigned by storyboard) and inside it, together with other objects, I want to have a table handled by a different controller. What is the right way to do this?

4条回答
我欲成王,谁敢阻挡
2楼-- · 2019-01-22 04:18

You can make that table view controller a child view controller of your UIViewController. In the storyboard, you can do this easily by dragging a container view into your controller's view, and that will give you a child view controller automatically. You'll want to delete the controller it gives you (it's just a UIViewController), drag out a table view controller, control drag from the container view to the table view controller, and choose "embed". If you need to get a reference to this table view controller from the UIViewController, you can do that in prepareForSegue -- the table view controller will be the segue's destination view controller, and prepareForSegue will be called right after the controllers are instantiated.

查看更多
干净又极端
3楼-- · 2019-01-22 04:26

You'll want to use an embedded container view.

  1. Drag a "Container View" from Interface Builder sidebar into the view. This adds and links a default "contained" UIView/Controller as well.

  2. Delete the entire UIViewController and View that was automatically added and linked to the container view (as you'll want a Table View Controller instead).

  3. Drag a UITableViewController onto the Storyboard canvas.

  4. Control-Drag from the Container View to the Table View Controller. Select "Embed" to contain the UITableView within the container view.

You're left with the parent view, now containing a UITableView via a Container View. The Controller for the Table View is on the storyboard canvas as well.

Table View Controller inside a Container View

查看更多
Deceive 欺骗
4楼-- · 2019-01-22 04:26

Add UITableViewController to storyboard, And create subclass (new file) of UITableViewController. In Storyboard go to Identity Inspector and in Class field type name of the subclass you created. After that you have to add your app logic based on your requirements.

查看更多
迷人小祖宗
5楼-- · 2019-01-22 04:41

Create Another UITableViewController in the storyboard, go to its inspector and assign it the same UITableViewController class that you have created before...

查看更多
登录 后发表回答