多视图控制器 (一个界面需要多个tableview CollectionView时)

storyboard 上创建多个viewcontroller


在miancontroller 上添加viewcontroller的跟视图


- (void)viewDidLoad
{
    [super viewDidLoad];

    self.navigationController.navigationBar.translucent = NO;
    
    // create and add our two children view controllers from our storyboard
    self.child1 = [self.storyboard instantiateViewControllerWithIdentifier:@"child1"];
    [self addChildViewController:self.child1];
    [self.child1 didMoveToParentViewController:self];
    
    self.child2 = [self.storyboard instantiateViewControllerWithIdentifier:@"child2"];
    [self addChildViewController:self.child2];
    [self.child2 didMoveToParentViewController:self];
    
    // by default child1 should be visible
    // (note that later, UIStateRestoriation might change this)
    //
    [self addChild:self.child1 withChildToRemove:nil];
}

- (void)addChild:(UIViewController *)childToAdd withChildToRemove:(UIViewController *)childToRemove
{
    assert(childToAdd != nil);
    
    if (childToRemove != nil)
    {
        [childToRemove.view removeFromSuperview];
    }
    
    // match the child size to its parent
    CGRect frame = childToAdd.view.frame;
    frame.size.height = CGRectGetHeight(self.placeholderView.frame);
    frame.size.width = CGRectGetWidth(self.placeholderView.frame);
    childToAdd.view.frame = frame;
    
    [self.placeholderView addSubview:childToAdd.view];
}

代码见附件

你可能感兴趣的:(多视图控制器)