how to select viewcontroller based on selection do

2020-05-09 23:54发布

问题:

This question is related to this.

I am using KLHorizontalSelect for showing tab bar with scroll option. I have dragged new 7 View Controller on storyboard. If I select Popular, popular view controller should get displayed.

Any idea/ suggestions on how to get this done?

回答1:

This is a typical example of view controller containment (where you want one view controller to present other view controllers). Navigation controllers and tab bar controllers are example of built in container controllers. But effective iOS 5, Apple opened up containment for the rest of us.

Please see:

  • Implementing a Container View Controller in the UIViewController Class Reference.
  • Creating Custom Container View Controllers in the View Controller Programming Guide.
  • WWDC 2011 - Implementing UIViewController Containment

By the way, buried in the View Controller Programming Guide is subtle note about those four containment methods:

  • addChildViewController:
  • removeFromParentViewController
  • willMoveToParentViewController:
  • didMoveToParentViewController:

There are some strange interplay here. I would have thought that we, as application developers, would either just do the add... and/or remove... and that iOS would take care of all of the notifications for us, or that we would have to take care of the will... and did... notifications ourselves. But it's actually half-and-half. So read Adding and Removing a Child very carefully.